2014-06-14 127 views
1

我在CMD命令,它看起來像下面命令而不是通過PHP了shell_exec在cmd中工作

C:\wamp\www\editor\DocTo-master\exe\docto -f C:\wamp\www\editor\uploaded\uploaded_files_21_original\AffidavitinDIR-4.docx -O "C:\wamp\www\editor\uploaded\uploaded_files_21_original\pdf\21.pdf" -T wdFormatPDF 

當我在cmd中運行它,它工作絕對沒問題,並給出輸出(DOC到PDF)如預期。 然而,當我把同樣的命令在PHP了shell_exec像

shell_exec('C:\wamp\www\editor\DocTo-master\exe\docto -f C:\wamp\www\editor\uploaded\uploaded_files_21_original\AffidavitinDIR-4.docx -O "C:\wamp\www\editor\uploaded\uploaded_files_21_original\pdf\21.pdf" -T wdFormatPDF'); 

我不得到與在PHP上面的代碼所需的輸出。 任何幫助將不勝感激

+0

你要逃避'\''到'\\我 –

+0

試圖取代它們,但它仍然不工作! – Rakhi

回答

1

似乎像大多數問題必須做與權限或重定向。

您當前的用戶憑據允許您在該目錄中創建文件,但使用web服務器用戶名嗎?

將stderr重定向到stdout以獲取錯誤信息。

引用是否正確?

查看網絡服務器錯誤日誌。

+0

這是我得到的錯誤日誌文件 FileToConvert:C:\ wamp \ www \ editor \ uploaded \ uploaded_files_21_original \ AffidavitinDIR-4.docx OutputFile:C:\ wamp \ www \ editor \ uploaded \ uploaded_files_21_original \ pdf \ 21.pdf 分機17 ***************************************** 錯誤:EOleException此命令不可用,因爲沒有文檔打開 ************************************* **** 錯誤:退出錯誤代碼:220 – Rakhi

0

我是docto的作者。

這很可能是一個權限問題,因爲php不一定會給出正確的權限來在您的服務器上運行word。

我在運行Word 2010的Windows 2012服務器上自己運行它,它工作正常。 DocTo安裝在Web服務器根目錄上的子目錄中。

PHP運行作爲NTSystem管理局

而且我使用EXEC而不是了shell_exec不知道如果讓任何differnce

相關問題