検索
ホームページPHPフレームワークWorkermanthinkphp でワーカーマンを使用する方法

thinkphp でワーカーマンを使用する方法

Nov 30, 2019 pm 04:53 PM
thinkphpworkerman

次のコラム workerman 入門チュートリアル では、workerman と thinkphp を組み合わせる方法を紹介しますので、少しでもお役に立てれば幸いです。

thinkphp でワーカーマンを使用する方法

workerman を実行するには、pcntl とイベントまたは libevent をインストールする必要があります

pcntl のインストール方法:

With例として php-5.5 .20 を使用します。実際の状況は、インストールした PHP ディレクトリに基づいています。

1. PHP ソース コードを見つけて、php-5.5.20/ext/pcntl/ ディレクトリに入ります。 cd php- 5.5.20/ext/pcntl/

2.locate phpize を実行して phpize ディレクトリを見つけ、/usr/local/php-5.5.20/bin/phpize

3. を実行します。 /configure --with-php-config=PHP 設定ファイルのパス 例: ./configure --with-php-config=/usr/local/php-5.5.20/bin/php-config

4. コンパイルしてインストールします make && make install If/ext /pcntl/modules/pcntl.so が生成され、正常にコンパイルされます

5. php echo "extension=pcntl.so" によって読み込まれた PHP.INI に拡張機能を追加します。 >> /etc/php.ini (現在使用されている php.ini 設定パスを表示するには、コマンド php --ini を入力します)

6. nginx を再起動します nginx -s reload

7サービスを表示 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

イベントのインストール方法:

1. yum install libevent-devel -y

2. pecl install event

ヒント: libevent OpenSSL サポートを含める [yes]: no と入力して Enter キーを押します。それ以外の場合は Enter キーを押してください。

3. echo extension=event.so > /etc/php.ini

libevent インストール方法:

1. yum install libevent- devel

2. pecl install channel://pecl .php.net/libevent-0.1.0 // libevent のインストールを要求する [autodetect]: Enter を押します

3. PHP ディレクトリ lib を確認します。 /php/extensions/no-debug-non-zts-20121212 libevent.so がディレクトリ

に生成されるかどうか 4. コマンド php -v を入力して、インストールされている拡張機能を表示します

#Workerman は Thinkphp に統合されています: (推奨: workerman チュートリアル )

1. ダウンロードした workman ディレクトリを project\ThinkPHP\Library ディレクトリに配置します

2 \Lib\Constants.php を除くクラス ファイルをworkerman ディレクトリに配置します。 ファイル名を *.class.php

に変更します。 3. 次のコマンドを使用して、プロジェクトのルート ディレクトリに新しいファイル worker.php ファイルを作成します。 content:

<?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;;
?>

4. Home モジュールのコピーをコピーし、その名前を Worker

5 に変更します。次の内容を含む新しい Worker コントローラーを Worker モジュールに作成します。

6. Linux システムに入り、ポート 8989

<?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;);
    }
    
}
 ?>

7. プロジェクト ルートに入る ディレクトリに起動コマンドを入力します:

iptables -I INPUT -p tcp --dport 8989 -j ACCEPT

に [OK] が表示され、起動が成功したことを示します

8. 新しいサーバー リンクを作成し、telnet 127.0.0.1 8989 を入力してテストします。

Workerman が MySQL にアクセスします :


1. インストールします。 pdo および pdo_mysql およびその他の関連拡張機能

#2. ワーカー モジュールの Conf ディレクトリの config.php にデータベース関連の設定を追加します

3. サーバー アドレスには localhost を使用せず、localhost を使用します。 IP127.0.0.1

4. データベースを設定した後、Thinkphp の Db メソッド


# を直接使用できます。

以上がthinkphp でワーカーマンを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)