次のコラム workerman 入門チュートリアル では、workerman と 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('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'; ?>
6. Linux システムに入り、ポート 8989
<?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'); } } ?>
7. プロジェクト ルートに入る ディレクトリに起動コマンドを入力します:
iptables -I INPUT -p tcp --dport 8989 -j ACCEPT
に [OK] が表示され、起動が成功したことを示します
8. 新しいサーバー リンクを作成し、telnet 127.0.0.1 8989 を入力してテストします。
Workerman が MySQL にアクセスします :
1. インストールします。 pdo および pdo_mysql およびその他の関連拡張機能
# を直接使用できます。
以上がthinkphp でワーカーマンを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。