搜索
首页php框架Workermanworkerman与thinkphp结合使用的方法

workerman与thinkphp结合使用的方法

Nov 30, 2019 pm 04:53 PM
thinkphpworkerman

下面由workerman入门教程栏目给大家介绍将workerman与thinkphp结合的方法,希望对大家有一定的帮助。

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://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用入口文件
define(&#39;BIND_MODULE&#39;, &#39;Worker&#39;);
define(&#39;BIND_CONTROLLER&#39;, &#39;Worker&#39;);
define(&#39;BIND_ACTION&#39;, &#39;Start&#39;);
//define(&#39;APP_MODE&#39;,&#39;cli&#39;);
//ThinkPHP的其他设定
define( &#39;APP_PATH&#39;, dirname(__FILE__).&#39;/Application/&#39; );
require dirname( __FILE__).&#39;/ThinkPHP/ThinkPHP.php&#39;;
?>

四、复制一份Home模块将其名称修改为Worker

五、在Worker模块中新建Worker控制器,其内容如下:

<?php
namespace Worker\Controller;
use Think\Controller;
use Workerman\Worker;
class WorkerController extends Controller{
    public function Start() {
        $worker = new Worker(&#39;text://0.0.0.0:8989&#39;); //实例化Worker,并设置协议、IP和端口(地址和端口自定义)
        $worker->count = 4;
        $worker->onMessage = array($this, &#39;onMessage&#39;);
        //worker的其它回调方法可以参考onMessage
        Worker::runAll();
    }
    public function onMessage($connection, $data)
    {
        $connection->send(&#39;hello&#39;);
    }
    
}
 ?>

六、进入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结合使用的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:博客园。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器