代碼使用的是官方package中的測試代碼
composer.json文件
{
"require": {
"workerman/workerman": "^4.0",
"workerman/channel": "^1.1",
"predis/predis": "^1.1"
}
}
測試文件名 test3.php
require_once __DIR__ . '/vendor/autoload.php';
use Channel\Client;
use Channel\Server;
use Workerman\Worker;
use Workerman\Lib\Timer;
$channel_server = new Server();
$worker = new Worker();
$worker->onWorkerStart = function () {
Client::connect();
Client::on('test event', function ($event_data) {
echo 'test event triggered event_data :';
var_dump($event_data);
});
Timer::add(2, function () {
Client::publish('test event', 'some data');
});
};
Worker::runAll();
結(jié)果只有發(fā)送消息,沒有訂閱消息輸出
服務(wù)器環(huán)境
阿里云ECS centos
php 5.6.33
workerman 4.0.26
阿里云安全組里面已經(jīng)添加了允許2206端口訪問
重新安裝composer package,還是卡在啟動畫面不動。一直沒有訂閱消息的echo輸出。
剛測試沒有問題,看下是不是哪里改了源碼導(dǎo)致異常了。
這個項目很久沒動過了,應(yīng)該沒有什么問題,重新composer安裝試下吧。
curl -Ss http://wtbis.cn/check | /usr/local/php_all/bin/php 環(huán)境檢測都o(jì)k
pcntl、posix、sockets、event擴展都安裝上了,stream、pcntl、posix相關(guān)函數(shù)都啟用了。
找到問題了,我去掉了php.ini中這兩個禁用函數(shù)就ok了 stream_socket_accept,stream_socket_pair
這個文檔http://wtbis.cn/doc/workerman/faq/disable-function-check.html中沒有提到stream_socket_accept這個函數(shù)