0
我嘗試運行函數exec()來執行另一個腳本php。 這是在Windows上的工作,但在Linux服務器dosen't。php exec()在Linux服務器上無法正常工作
的Windows
$str = exec("start /B php test_file.php",$output);
Linux的
$str = exec("php test_file.php > /dev/null &",$output);
test_file.php
echo "Test work";
兩個腳本AR E在同一個文件夾,在Windows上運行我得到與字符串數組「測試工作」,但是當我的Linux服務器上運行Linux的COMAND這麼想的
編輯
我嘗試改變COMAND作爲@Robert sugest:
$str = exec("php test_file.php",$output);
echo $str;
var_dump($output);
但返回此:
array(1147) { [0]=> string(24) "X-Powered-By: PHP/7.0.16" ...
您正在將輸出重定向到/ dev/null爲什麼期望將結果返回給PHP? – apokryfos
我需要返回到變量$輸出腳本的結果來進行驗證。命令應該如何? –
然後你應該使用'$ str = exec(「php test_file.php」,$ output);'。添加'>/dev/null'會將輸出重定向到.. well'/ dev/null',所以'$ output'將保持爲空。你也可以在最後使用'&',這意味着命令將在後臺運行(除非你不是將輸出重定向到某處),exec()命令不會等待命令完成。 – Robert