注意: 未定義のプロパティ: swoole_websocket_server::$connections in /www/server.php 34 行目
<?php // 官网demo $ws = new swoole_websocket_server("************", 9502); function broadcast(swoole_websocket_server $ws, $msg, $me = null) { foreach($ws->connections as $fd) { if($fd != $me) { $ws->push($fd, $msg); } } } // 监听WebSocket连接打开事件 $ws->on('open', function (swoole_websocket_server $ws, $request) { $ws->push($request->fd, "欢迎接入小孟聊天平台\n"); broadcast($ws, "用户{$request->fd}登录啦!", $request->fd); }); // 监听WebSocket消息事件 $ws->on('message', function (swoole_websocket_server $ws, $frame) { $msg = 'from'.$frame->fd.":{$frame->data}\n"; broadcast($ws, $msg); // $ws->push($frame->fd, "server: {$frame->data}"); // $ws->push($frame->fd, "server: {$frame->data}"); }); // 监听WebSocket连接关闭事件 $ws->on('close', function (swoole_websocket_server $ws, $fd) { broadcast($ws, "用户{$fd}下线啦!"); }); $ws->start();
これはコードですが、connections属性を使用していません
お使いのシステムには pcre コンポーネントが不足しており、接続イテレータはこのライブラリに依存しています。
pcre-dev(ubuntu) または pcre-devel(centos) をインストールします
swoole を再コンパイルしてインストールします swoole1.8.7-beta をインストールするときにもこの問題に遭遇し、その後 pcre をインストールしましたが、依然としてpersisted いいえ、順序が間違っていると思います。最初に pcre をインストールしてから swoole をインストールする必要があります。これで問題ありません 上記は、swoole の webSocket クラスに接続属性がないということでしょうか。エラー内容については、PHP 中国語 Web サイト (www.php.cn) で関連内容を確認してください。