2013-03-25 73 views
0

我有一個使用shell命令刪除PDF文件的文本網頁訪問的PHP腳本。我安裝了Poppler,並通過MacPorts使用pdftotext。我能夠成功地從CL運行命令,並且在PHP腳本中將完整路徑提供給'/ opt/local/bin/pdftotext'。所以,我知道我的$ PATH是正確的,並且權限足夠,但當我試圖在exec()中簡單地執行'pdftotext'時,我仍然得到127的退出狀態:Command Not Found。追加到Apache的環境路徑

我從How do I add paths to the Apache PATH variable?http://lists.apple.com/archives/macos-x-server/2008/Sep/msg00433.html嘗試了答案。我修改了/ etc/path和/ etc/profile,並添加了/etc/paths.d/macports,它們都指向'/ opt/local/bin'。 setenv,apache_setenv等也都沒有效果。

我正在使用MAMP(1.9我認爲)爲我的本地開發安裝OSX 10.6,PHP 5.3.5,後面我知道一點:-) ...我的$ PATH被修改爲指向MAMP斌/ PHP

回答

1

/etc/paths.d/macports將在PATH變量影響的MacPorts的,而不是Apache的。你可能需要添加/etc/parhs.d/apache(或其他)來做你需要的。
編輯:還要檢查thisthis線程解決方案。它已經有些過時了,但仍然可以提供幫助。

+0

所以在/etc/paths.d該文件的名稱是請求路徑,而不是的路徑是什麼名字的過程?可悲的是,添加'apache'和'php'都沒有效果。 – 2013-03-26 17:18:44

+0

@WayneWeibel我已經添加了答案的鏈接 - 檢查可能是你會找到解決方案。 – cody 2013-03-27 06:19:13

+0

謝謝。鏈接確實有幫助。我至少能夠使用putenv獲得正確的路徑。爲了我的口味,仍然有點冒險,可能會切換到執行命令的proc_open。 shell是'sh',PHP正在使用,所以接下來是製作正確的.profile(希望)。再次感謝。 – 2013-03-27 14:13:10