自分では説明できない現象に出くわしました。
私はpopenを使用してphpを実行し、次にphpスクリプトをそのように実行し、pcloseを使用してそれを閉じています。ここまでは順調。これを使用したスクリプトが実行されず、代わりに3回続けて試行した後、zend-serverをクラッシュさせたため、かなりの深刻な問題に遭遇しました(ページが開かなくなりました)。その理由は、php.exe に間違ったディレクトリを使用したためであることがわかりました。例:
if (pclose(popen("C:\wrongDir\php\php.exe C:\Zend\Apache2\htdocs\myApp\public\mytest.php 57 > C:\Logs\1\0\jobOut.log 2> C:\Logs\1\0\jobErr.log"))>-1)
{
.....
}
「wrongDir」を除いて、他のすべてのディレクトリは正しかった.... popen は jobOut および jobErr ファイル (空だった) も作成した。(注: PHP は検索パスにないため、正しいパスがないと検出されませんでした)
問題は解決しましたが....これが通常の動作なのか、それとも何か間違ったことをしたのか(サーバー設定でさえ)疑問があります。 両方のコマンドについてマニュアルで読んだことから、私の場合、戻り値は-1または0のいずれかであり、プロセスで遭遇した問題ではなく、サーバーがハングする必要があるように思えました)。
ありがとう。