簡體   English   中英

PHP中的shell_exec返回空字符串

[英]shell_exec in PHP returns empty string

shell_execexec不返回任何內容。 我不知道怎么了。

這是一些代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM