2013-02-21 87 views
1

我試圖使用Zend Framework在PHP中執行我的PDF轉換,但無法弄清楚如何安裝它。我發現這個程序允許通過命令行打印/轉換PDF,所以我想我可以在PHP中執行一個exec()命令來運行該程序並將我的文件轉換爲服務器上的文件。在PHP中使用PDFCreator的命令行參數exec()

該程序是pdfforge.org從pdfforge.org,我試圖將.DOC文件轉換爲.PDF文件。從cmd.exe運行時,以下命令行完美工作。但是,從PHP運行它時,我認爲它試圖在用戶系統下執行並且工作不正常。 (我做了一個php exec('whoami'),它以系統的身份回來)。我還更改了Apache的用戶,以開放Admin帳戶,但仍然無法使其工作。

"C:\Program Files\PDFCreator\PDFCreator.exe" /OptionsFile"C:\PDFCreator.ini" /PF"C:\test.doc"

任何想法,爲什麼使用EXEC運行命令時,我無法獲得相同的行爲()?

回答

0

這是因爲Apache用戶和帳戶用戶應該是相同的,例如:您的Windows用戶是Pedro,所以Apache用戶應該是Pedro ...您打開services.msc並在會話選項卡中允許apache與當前的桌面....這樣,共享相同的Windows會話和桌面....但它應該代表安全風險,不建議。

Saludos。

+0

感謝您的回覆。我做了所有這些,現在我的問題更加奇怪。它執行該命令並將其發送給打印機(PDF轉換器)將其添加到隊列中並表示將其打印。事情是沒有輸出,並且打印作業的大小太小而不能成爲文檔。 這是否意味着有一個文件訪問問題,我不知道如何解決? – 2013-02-21 18:45:02

+0

是的......我假設你有管理員權限,所以我會嘗試訪問服務器端的文件......例如:你的www把一個名爲docs的目錄......試試訪問該文件夾而不是C: \ – Hackerman 2013-02-21 19:19:29