旗下导航:搜·么
当前位置:网站首页 > PHP框架 > Workerman > 正文

workerman与thinkphp连系运用的要领【workerman】,workerman,thinkphp

作者:搜搜PHP网发布时间:2019-12-01分类:Workerman浏览:92


导读:下面由workerman入门教程栏目给人人引见将workerman与thinkphp连系的要领,愿望对人人有肯定的协助。运转workerman须要装置pcntl和eve...
下面由workerman入门教程栏目给人人引见将workerman与thinkphp连系的要领,愿望对人人有肯定的协助。

运转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网别的相干文章!

标签:workermanthinkphp