$file='C:/a.doc';
$saveas=__DIR__.'/tmp/a.html';
$word=new COM('word.application');
$document=$word->Documents->Open($file);
$document->SaveAs($saveas,8);
$word->Quit();
$word=null;
echo file_get_contents($saveas);
@unlink($saveas);
它工作正常,在PHP CLI模式(PHP -f 「com_server.php」),但是當我運行它通過網絡(在Windows /阿帕奇http://localhost/com_server.php),發生了錯誤:PHP轉換Word與COM的HTML
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': Server execution failed' in D:\www\wwwroot\com_server.php:16 Stack trace: #0 D:\www\wwwroot\com_server.php(16): com->com('word.applicatio...') #1 {main} thrown in D:\www\wwwroot\com_server.php on line 16
我也嘗試將代碼包裝在shell_exec中,但同樣的錯誤以及。
有什麼建議嗎?
如果Apache運行作爲不同的用戶,那麼它可能沒有權限運行的MSWord – 2010-07-28 09:31:26
已經跑apache服務爲相同的用戶,仍然沒有運氣,錯誤如下: 致命錯誤:調用一個成員函數另存爲()非對象d上:\ WWW \ wwwroot的\ com_server.php每個我運行該頁面時線18 ,並有一個新的WINWORD progress.It必須停止打開該文件時。 謝謝 – Dong 2010-07-28 09:58:52