[英]shell_exec in PHP returns empty string
shell_exec
和exec
不返回任何內容。 我不知道怎么了。
這是一些代碼:
echo 'test: ';
$output = shell_exec('whoami');
var_export($output, TRUE);
echo PHP_EOL . '<br>' . PHP_EOL;
這是輸出的來源
test 2:
<br>
我無法控制主機,但我相信它們正在運行SuPHP。 根據phpinfo
,safe_mode關閉。 通過SSH運行whoami
輸出預期值。
我很茫然。 知道如何調試嗎?
您永遠不會打印$output
變量。 當您使用true
第二個參數調用var_export()
調用時, 將返回變量的內容,但不會直接打印該變量。
如果要將shell命令的輸出讀回PHP,則可能需要popen()
。 例如:
if( ($fp = popen("some shell command", "r")) ) {
while( !feof($fp) ) {
echo fread($fp, 1024);
flush(); // input will be buffered
}
fclose($fp);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.