私はchat.phpにsocket.phpソケットファイルを含んでいます。 socket.phpファイル内の行PHPファイルをXAMPPとphpコマンドラインで実行する
socket_bind($master, $address, $port);
$address = "localhost"
と$port=1300
があります。
しかし、私は、ブラウザ上に置いたときに(とXAMPP からApacheがアップしている)http://localhost/demo/chatdemo.phpそれは言う:だから
Warning: socket_bind() [function.socket-bind]: unable to bind address [48]:
Address already in use in /Applications/XAMPP/xamppfiles/htdocs/demo/socket.class.php on line 23
socket_bind() failed
、代わりに、私のgotoコマンドラインと
php -q /demo/chatbot.demo.php
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /demo/socket.php on line 21
Server Started : 2012-03-27 17:24:24
Listening on : localhost port 13000
Master socket : Resource id #5
をしました
質問:私はchathosto.phpをlocalhost(XAMPPを使用)のブラウザで実行できないのに対して、php(非XAMPP)を使用してコマンドラインで実行できるのはなぜですか?
なぜあなたはWebサーバー経由でチャットデーモンを実行しますか? –
Chatdemo.phpはデーモンではなく、アプリですが、デーモンsocket.phpが必要です。 – lilzz