搜尋
首頁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

2、進入專案根目錄輸入啟動命令:

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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具