ホームページ >バックエンド開発 >PHPチュートリアル >PHPのマルチスレッドに関するQ&Aとその対処方法
PHP マルチスレッドに関する質問に答えてください
インターネットでいくつかのデモを見ましたが、その多くは同じで、自分のマシンでテストしましたが、何か問題が発生しました。
//a.php
関数 runThread(){
$fp = fsockopen('localhost', 80, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b");
fclose($fp);
}
関数 a(){
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
関数 b(){
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a'){
runThread();
a();
}
else if($_GET['act'] == 'b') b();
?>
localhost/a.php にアクセスするたびに、レコードは result_a.log にのみ書き込まれます。私の PHP 環境では fsocket 拡張機能を有効にできると思います。アドバイス
マルチスレッド
php