4

shell_execコンテンツを返してexecいません。何が悪いのかわかりません。

ここにいくつかのコードがあります:

echo 'test: ';
$output = shell_exec('whoami');
var_export($output, TRUE);
echo PHP_EOL . '<br>' . PHP_EOL;

そして、ここに出力のソースがあります

test 2: 
<br>

私はホストを制御できませんが、彼らは SuPHP を実行していると思います。によるとphpinfo、セーフモードはオフです。whoamiSSH から実行すると、期待値が出力されます。

私は途方に暮れています。これをデバッグする方法はありますか?

4

2 に答える 2

5

$output変数を出力することはありません。2 番目のパラメーターを指定してvar_export()呼び出すと、変数の内容が返さtrueれます。直接出力されることはありません。

于 2012-07-10T21:43:50.673 に答える
0

シェル コマンドからの出力を PHP に読み戻したい場合は、おそらくpopen(). 例えば:

if( ($fp = popen("some shell command", "r")) ) {
    while( !feof($fp) ) {
        echo fread($fp, 1024);
        flush(); // input will be buffered
    }
    fclose($fp);
}
于 2012-07-10T21:43:46.820 に答える