0

ブラウザとコマンド ラインの両方から実行したい PHP スクリプトがあります。コマンドラインからスクリプトを実行すると、問題なく実行されます。execただし、またはなどの関数を介して呼び出すと、機能passthruしません。呼び出しからの出力が得られず、ログにエラーが表示されません。私はとても混乱しています...

echo exec('php /usr/share/nginx/www/function.php arg1');

何か案は?

4

2 に答える 2

0

を使用すると、出力はパラメーター変数に配列として取り込まれ、返されませんexec()。したがって、次のようにします。

exec('php /usr/share/nginx/www/function.php arg1', $output);
print_r($output);
于 2012-10-09T22:52:22.000 に答える
0

@デビッド、

いくつかの確認事項。

  1. PHP 情報ページを作成し、exec または passthru が有効になっているかどうかを確認します。ホストはセキュリティのためにこれを無効にします。

試す:

<?php

$exe = exec('php /usr/share/nginx/www/function.php arg1');

var_dump($exe);

?>

あなたもできる:

<?php

if(function_exists('exec')) {
    echo "exec is enabled";
}
?>
于 2012-10-09T22:52:40.237 に答える