0
我有一個bash腳本,它既可以在shell和PHP命令行中按預期方式工作,也不會在Apache(Raspbian)的PHP頁面中調用時運行。也就是說,這個工程(PHP命令行):bash腳本從php命令行運行,但不是從頁面
>php exec('/var/www/html/scripts/myBashScript.sh');
但這並不(的index.php):
<?php
exec('/var/www/html/scripts/myBashScript.sh');
?>
沒有顯示錯誤消息,我無法看到任何有關Apache服務器日誌。正如其他答覆指出,我也試着:
- EXEC( 'SH /var/www/html/scripts/myBashScript.sh')
- EXEC( './腳本/ myBashScript.sh' )
- EXEC( 'SH ./scripts/myBashScript.sh')
兩個腳本文件,並且其包含的文件夾具有用於Apache用戶(WWW的數據)rwx權限。腳本設置爲可執行。內置的bash命令按照預期的方式從php文件中工作,即:這可以工作:
<?php
echo exec('whoami');
?>
我在想什麼?
你怎麼知道它沒有運行?使用['$ output'和'$ return_var'參數](https://secure.php.net/manual/en/function.exec.php)和'var_dump'它們包含的內容。另外,如果它是一個bash腳本,試圖用'sh'而不是'bash'來運行它似乎很愚蠢。 –
@FuzzyTree:-rwxrwxrwx 1 www-data www-data 396 Apr 9 11:02 scripts/myBashScript.sh – LambethWalk
@Alexander,該腳本啓動了一個Web瀏覽器,因此我知道這不會發生。它不會產生其他輸出。 – LambethWalk