我的PHP命令行版本是5.6,按道理workermani使用是没问题的
首先composer require workerman/workerman安装workerman
安装PHPSocket.io
composer require workerman/phpsocket.io
创建文件sk_test1.php代码如下
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
use PHPSocketIO\SocketIO;
// 创建socket.io服务端,监听3120端口
$io = new SocketIO(3121);
// 当有客户端连接时打印一行文字
$io->on('connection', function($socket)use($io){
echo "new connection coming\n";
});
Worker::runAll();
运行php sk_test1.php start报错
PHP Parse error: syntax error, unexpected '?' in /home/jyp/vendor/workerman/phpsocket.io/src/SocketIO.php on line 23
Parse error: syntax error, unexpected '?' in /home/jyp/vendor/workerman/phpsocket.io/src/SocketIO.php on line 23
报错行代码是
$nsp = $opts['nsp'] ?? '\PHPSocketIO\Nsp';
??要PHP7才支持,只能将命令行改版本了
再运行一下
成功!