要小心絕對路徑的差異。相對路徑。執行路徑。例如,你的目錄結構爲:
/home/my/php/script/test.php
/makescreen.exe
在你的PHP腳本調用shell_exec(makescreen.exe ***)
。
在這種情況下,如果你執行你的腳本一樣cd /home/my/php/script && php test.php
,那麼執行路徑是/home/my/php/script/
和scirpt會發現在執行路徑makescreen.exe
,這裏是/home/my/php/script/
然而,如果你目前留在/home/my
和使用方法php /home/my/php/script/test.php
然後執行路徑是您當前的路徑,這裏是/home/my
,並且腳本將找到makescreen.exe
在/home/my
,肯定失敗。
如果您在腳本中使用/home/my/php/script/makescreen.exe
,這是絕對路徑無論你在哪裏,它會在/home/my/php/script/
找到makescreen.exe
如果你想要把可執行文件中的子文件夾。您可以在腳本中使用相對路徑subfolder/makescreen.exe
,並確保腳本可以正確訪問它。
謝謝,但仍然是同樣的事情。這是從服務器根目前已經兩層,現在我想要另一個子文件夾 - 這是必須做任何事情嗎?我應該使用從服務器根目錄的絕對路徑嗎? –