ผมเขียน PHP เพื่อเรียกใช้ DCOM ของ Microsoft Excel Application บนเครื่อง Server ที่เป็น Windows Server 2012 และติดตั้ง Microsoft Excel 2013 เอาไว้แล้วครับ
ตอนแรกมันติ๊กอยู่ที่ The launching user. แล้วพอผมเข้าไปโปรแกรมที่เขียนไว้มันแจ้ง error ว่างี้ครับ
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `Excel.application': Server execution failed
แล้วพอผมเปลี่ยนไปเป็น The interactive user มันกลับใช้งานได้ แต่พอผม Disconnect ตัวเครื่อง Server มันกลับใช้งานไม่ได้แล้วแจ้ง error ว่างี้ครับ
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `Excel.application': The server process could not be started because the configured identity is incorrect. Check the username and password.
พอดีมันเป็นโปรแกรมมีอยู่แล้วอ่ะครับ แบบผมเอามาพัฒนาต่อน่ะครับตอนแรกเขาใช้เป็น PHP 4.3 น่ะครับแล้วผมต้องเปลี่ยนเป็น PHP 5.5.11 แล้วก็ให้เปลี่ยน Server จาก Windows Server 2003 มาเป็น Windows Server 2012 น่ะครับ เลยไม่สามารถเปลี่ยนไปใช้ PHPExcel ได้อ่ะครับ
ตอนที่เลือก Identity เป็น The launching user. มี Error ใน Event Viewer ขึ้นว่า The server {00024500-0000-0000-C000-000000000046} did not register with DCOM within the required timeout.
แล้วมันแจ้ง User ว่าเป็น IIS APPPOOL\DefaultAppPool อ่ะครับต้องไปแอด User ตัวนี้เพิ่มหรอครับ พอดีไม่เห็นมันมีใน list ที่ให้กด add เข้าไปเลยน่ะครับ