运转workerman须要装置pcntl和event或许libevent
pcntl装置要领:
以php-5.5.20为例,实际情况按本身装置的PHP目次
一、 找到PHP源码,进入 php-5.5.20/ext/pcntl/目次 cd php-5.5.20/ext/pcntl/
二、 运转locate phpize 找到phpize的目次,运转/usr/local/php-5.5.20/bin/phpize
三、 实行./configure --with-php-config=PHP设置文件途径 如:./configure --with-php-config=/usr/local/php-5.5.20/bin/php-config
四、 编译、装置 make && make install 假如/ext/pcntl/modules/pcntl.so 生成了,编译胜利
五、将php加载的PHP.INI内里增添扩大 echo "extension=pcntl.so" >> /etc/php.ini (输入敕令php --ini可检察当前运用的php.ini设置途径)
六、重启nginx nginx -s reload
七、 检察效劳 ps -aux | grep pcntl
假如是5.3版本可直接输入敕令装置:
yum install php-cli php-process git gcc php-devel php-pear libevent-devel php-pdo php-mysql_pdo -y
event装置要领:
一、yum install libevent-devel -y
二、pecl install event
提醒:Include libevent OpenSSL support [yes] : 时输入no回车,别的直接敲回车就行
三、echo extension=event.so > /etc/php.ini
libevent装置要领:
一、yum install libevent-devel
二、pecl install channel://pecl.php.net/libevent-0.1.0 //提醒libevent installation [autodetect]: 时按回车
三、检察PHP目次lib/php/extensions/no-debug-non-zts-20121212的目次下面是不是生成libevent.so
四、输入敕令php -v检察已装置好的扩大
Workerman集成到Thinkphp:(引荐:workerman教程)
一、 将下载的workerman目次放入项目\ThinkPHP\Library目次
二、将workerman目次里的类文件除了\Lib\Constants.php外的文件名修改成*.class.php
三、在项目根目次新建文件worker.php文件,内容以下:
<?php header("Content-type: text/html; charset=utf-8"); // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2014 http://thinkki4.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // 运用进口文件 define('BIND_MODULE', 'Worker'); define('BIND_CONTROLLER', 'Worker'); define('BIND_ACTION', 'Start'); //define('APP_MODE','cli'); //ThinkPHP的其他设定 define( 'APP_PATH', dirname(__FILE__).'/Application/' ); require dirname( __FILE__).'/ThinkPHP/ThinkPHP.php'; ?>
四、复制一份Home模块将其称号修改成Worker
五、在Worker模块中新建Worker控制器,其内容以下:
<?php namespace Worker\Controller; use Think\Controller; use Workerman\Worker; class WorkerController extends Controller{ public function Start() { $worker = new Worker('text://0.0.0.0:8989'); //实例化Worker,并设置协定、IP和端口(地点和端口自定义) $worker->count = 4; $worker->onMessage = array($this, 'onMessage'); //worker的别的回调要领能够参考onMessage Worker::runAll(); } public function onMessage($connection, $data) { $connection->send('hello'); } } ?>
六、进入Linux体系,开启端口8989
iptables -I INPUT -p tcp --dport 8989 -j ACCEPT
七、进入项目根目次输入启动敕令:
php worker.php start
显现OK,表明启动胜利
八、新建一个效劳器链接,输入telnet 127.0.0.1 8989 测试
Workerman接见MySQL:
一、装置pdo和pdo_mysql等相干扩大
二、在Worker模块的Conf目次下的config.php中增加数据库相干设置
三、效劳器地点不要用localhost用IP127.0.0.1
四、设置好数据库后,可直接运用Thinkphp的Db要领
以上就是workerman与thinkphp连系运用的要领的细致内容,更多请关注ki4网别的相干文章!