exec() を使用して別の PHP スクリプトを実行する際に問題が発生しました。
別の PHP スクリプトを実行する必要があります (どちらも CLI で動作します)。
exec("php /some/path/script.php 2>&1", $output);
echo print_r($output, true);
このコードのみでスクリプトを呼び出すと (同じメソッドに他の処理はありません)、すべてが正しく機能します。しかし、大量のRAMを消費する長時間実行メソッドの最後に配置すると(memory_get_usage()は、上記のexec()の直前に4 GBを少し超えていることを示しています)、exec()は静かに失敗し、エコーは次のように表示されます:
array(
)
私が使用しているサーバーには、6 GB の RAM が利用可能です。
メモリ制限の問題ですか?PHP の memory_limit は -1 に設定されていますが、他の制限に達していると思います。どうすれば修正/変更できますか?
助けてくれてありがとう。