重複の可能性:
別の PHP スクリプトを呼び出し、他のスクリプトが完了する前にユーザーに制御を返す 別の PHP スクリプト
から非同期で PHP スクリプトを実行する方法は?
PHP で exec() を使用する際にいくつかの問題がありますが、解決する方法がわかりません。exec() を使用して、同じディレクトリ内の別の php スクリプトを「非同期的に」実行したいと考えています。b.php を呼び出すためにブラウザで a.php を開きますが、機能しません。(localhost はWindows 7 の xamppです)
a.php:
<?php
exec('php \b.php', $output, $r);
print_r($output);
print_r($r);
?>
b.php:
#!/usr/bin/php
<?php
echo time();
?>
ブラウザでの出力
Array ( ) 1
私は関連するPHP CLIを使用する超初心者です...これについてはわかりません...誰か簡単な例を挙げてもらえますか? たとえば、a.php と b.php には何を書くべきか。
ガイドやアドバイスをいただければ、どうもありがとうございます。
編集:
次のコードを試してみましたが、機能しますが、「非同期」に実行されません...出力をリダイレクトするにはどうすればよいですか?
ブラウザで callexec.php を開きます。
callexec.php
<?php
exec('C:\xampp\php\php.exe testexec.php');
?>
testexec.php
<?php
echo "start: ",time(),"\n";
sleep(10);
echo "\n";
echo "end: ",time(),"\n";
?>
再度、感謝します。