我在Debian 8.2上運行lighttpd 1.4.35。我有PHP代碼(PHP5),它要求一個bash腳本,並打印輸出一個非常簡單的HTML文件:HTML未顯示字符
<html>
<body>
<?php
$res = shell_exec("/var/www/html/run.sh");
echo $res . " is the result";
?>
</body>
</html>
如果HTML文件名爲火狐,輸出
is the result
如果我直接運行PHP與該文件(php index.php
),輸出爲
<html>
<body>
13.00
is the result</body>
</html>
那麼,哪裏的結果迷路?
編輯: 從Firefox的網頁源代碼是
<html>
<body>
is the result</body>
</html>
編輯:解決。 bash腳本使用'〜',當腳本從web服務器運行時,該擴展到錯誤的目錄。
嘗試與'$ RES =了shell_exec( 「SH /var/www/html/run.sh」)運行;' –
看看這裏:http://stackoverflow.com/a/20109859/1973205 – Grork
exec函數「only」返回stdout的內容。將stderr重定向到stdout時,是否收到錯誤消息? '$ res = shell_exec(「/ var/www/html/run.sh 2> &1");' – VolkerK