Workerman学习之路
来源:互联网 发布:三国群英传2 mac版本 编辑:程序博客网 时间:2024/06/03 14:47
Workerman学习之路
一、环境检测
Linux系统可以使用以下脚本测试本机PHP环境是否满足WorkerMan运行要求。curl -Ss http://www.workerman.net/check.php | php
上面脚本如果全部显示ok,则代表满足WorkerMan要求,直接到官网下载例子即可运行。
注意:
检测脚本中没有检测event扩展或者libevent扩展,如果业务并发连接数大于1024建议安装event扩展或者libevent扩展。
一般首次运行可能出错:
解决方案:
安装运行Workerman必要的PHP扩展。
如果php是通过yum安装的,则命令行运行 yum install php-process
即可安装pcntl和posix扩展。
如果安装失败或者php本身不是用yum安装的,参考下面安装扩展:
1.找到PHP解压路径
find / -name php-*
2.进入php扩展pcntl目录
cd /root/php-7.0.12/ext/pcntl/
3.执行命令
/usr/local/php/bin/phpize
结果:
./configure --with-php-config=/usr/local/php/bin/php-config
结果:
make && make install
结果:
vi /etc/php.ini
添加一行内容:
extension=pcntl.so
添加完成后保存退出。
4.再次测试
curl -Ss http://www.workerman.net/check.php | php
结果:
表明PHP环境已经支持Workerman工作需要。
Warning: PHP Startup: Invalid library (maybe not a PHP library) 'posix.so' in Unknown on line 0PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'posix.so' in Unknown on line 0或者,如下错误:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/mcrypt.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/mcrypt.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/json.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/json.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/phar.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/phar.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0
二、安装
安装环境:
linux:CentOS7.2
php:7.0.12
mysql:5.7.17
apache:2.4
下载linux版本的Workerman
三、使用
1. 安装扩展包
使用linux之前需要安装event或者libevent
yum install event* -y
yum install libevent -y
2. 安装php扩展
根据官方Workerman开发实例(https://www.kancloud.cn/walkor/workerman/315113)进行测试,php http_test.php start 启动的时候提示错误:
<?phpuse Workerman\Worker;require_once __DIR__ . '/Workerman/Autoloader.php';// 创建一个Worker监听2345端口,使用http协议通讯$http_worker = new Worker("http://0.0.0.0:2345");// 启动4个进程对外提供服务$http_worker->count = 4;// 接收到浏览器发送的数据时回复hello world给浏览器$http_worker->onMessage = function($connection, $data){ // 向浏览器发送hello world $connection->send('hello world');};// 运行workerWorker::runAll();
php /usr/local/apache/htdocs/Workerman-master/http_test.php start
ERR_CONNECTION_TIMED_OUT 的情况,这是由于ECS服务器的安全组没有设置相应的端口允许规则,设置好你想要使用的端口规则后就可以,设置方法参考我的博客http://blog.csdn.net/dmt742055597/article/details/77063853
- Workerman学习之路
- WorkerMan的安装学习
- WorkerMan学习篇:一
- WorkerMan学习篇:二
- Workerman
- Workerman
- workerman
- Workerman
- WorkerMan学习篇:连接mysql
- WorkerMan学习篇:websocket+workerman聊天功能设计(一):简单认证
- WorkerMan学习篇:websocket+workerman聊天功能设计(一):简单认证
- WorkerMan学习篇:准备和热身
- WorkerMan学习篇:准备和热身
- WorkerMan学习篇:简单多人聊天
- workerman源码分析之启动过程
- WorkerMan学习篇:websocket+workerman聊天功能(二):同步在线用户列表
- WorkerMan学习篇:websocket+workerman聊天功能(三):点对点发送消息模拟
- WorkerMan学习篇:websocket+workerman聊天功能(二):同步在线用户列表
- eclipse配置黑色主题
- UITableVIewCell中webView设置高度问题
- Kafka异常处理(客户端和消费者都找不到topic)
- springmvc初始化过程
- EHCache does not allow attribute "maxEntriesLocalHeap".
- Workerman学习之路
- 剑指offer(1):二维数组中的查找
- AsyncTask多条目加载
- 使用JasperReport和poi导出Excel
- CentOS6设置静态IP而且还可以上网
- hdu1166 敌兵布阵(线段树)
- Period
- HDU-1849-Rabbit and Grass
- 2018网易校招内推编程题 小易喜欢的数列(动态规划)