我正在嘗試使用PHP腳本來調用shell腳本並將輸出結果輸出到瀏覽器。chdir在PHP腳本中調用shell腳本的問題
我已確認所有權限設置都設置正確,PHP和bash腳本都具有完全控制權。
如果我在當前目錄(與PHP文件相同的目錄)中運行shell腳本,那麼它工作正常。但是,如果我嘗試從/some/other/directory/shell.script運行shell腳本,那麼它不起作用。這是爲什麼?
我試圖chdir()到其他目錄,但運行getcwd()後,它從來沒有改變目錄。
我也嘗試了exec命令本身,它不起作用。 SHELL腳本
<?php error_reporting(E_ALL); ini_set('display_errors',1);
echo "<h1>EDS Count Report</h1><p>";
$output=shell_exec('cd /app/script/catalog/ && ./EDScount_report.sh');
echo $output;
?>
內容:
你確定沒有安裝CHROOT之類的軟件嗎? open_basedir也可能會限制文件系統的訪問。 –
在打開PHP標記後立即在您的文件頂部添加錯誤報告,例如'<?php error_reporting(E_ALL); ini_set('display_errors',1); '然後你的代碼的其餘部分,看看它是否產生任何東西。 –
我在頭文件中添加了它,但它仍然沒有顯示任何錯誤消息。當我嘗試從命令行運行php文件時,出現以下錯誤: 'builder @ ae-prod-lxb101:/ build2/php/dev> ./phpfile.php4 ./phpfile.php4:line 1:語法錯誤附近的意想不到的令牌'''' ./phpfile.php4:第1行:'<?php error_reporting(E_ALL); ini_set('display_errors',1);'' – astra