>  기사  >  PHP 프레임워크  >  thinkphp와 함께 워커맨을 사용하는 방법

thinkphp와 함께 워커맨을 사용하는 방법

尚
앞으로
2019-11-30 16:53:095467검색

Workerman Getting Started Tutorial 칼럼에서는 Workerman과 thinkphp를 결합하는 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다.

thinkphp와 함께 워커맨을 사용하는 방법

Workerman을 실행하려면 pcntl과 event 또는 libevent를 설치해야 합니다.

pcntl 설치 방법:

php-5.5.20을 예로 들어보세요. 실제 상황은 설치한 PHP 디렉터리에 따라 다릅니다.

1. PHP 소스 코드를 찾아 php-5.5.20/ext/pcntl/directory cd php-5.5.20/ext/pcntl/

를 입력합니다. 2. phpize 디렉토리를 찾고 /usr/local/을 실행하려면 phpize 찾기를 실행하세요. 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 /ext/pcntl/modules/pcntl.so가 생성되면 컴파일이 성공한 것입니다

5. php echo "extension=pcntl.so" >> ; /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

event 설치 방법:

1. yum install libevent-devel -y

2. pecl 설치 이벤트

팁: libevent OpenSSL 지원 포함 [yes]: no를 입력하고 Enter를 누르세요. 그렇지 않으면 Enter를 누르세요

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

libevent 설치 방법:

1.yum install libevent-devel

2.pecl 설치 채널://pecl.php.net/libevent-0.1.0 //libevent 설치 확인 [자동 감지]: Enter를 누르세요

3. PHP 디렉토리 lib/php/extensions/no-debug-non-zts- libevent.so는 20121212 디렉토리 아래에 생성됩니까? 4. 설치된 확장 프로그램을 보려면 php -v 명령을 입력하십시오.

Workerman은 Thinkphp에 통합됩니다.

(추천: workerman tutorial) 1. 다운로드한 Workerman 디렉터리를 프로젝트 ThinkPHPLibrary 디렉터리에 넣습니다

2. LibConstants.php를 제외한 Worker 디렉터리의 클래스 파일 이름을 *.class.php로 변경합니다.

3. 프로젝트 루트 디렉터리에 다음 내용을 포함하는 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;;
?>

4. 홈 모듈의 복사본을 복사하고 이름을 Worker

5로 변경합니다. 다음 내용이 포함된 작업자 모듈:

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

6. Linux 시스템에 들어가서 포트 8989

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

7을 엽니다. Enter 프로젝트 루트 디렉터리에 시작 명령을 입력합니다.

php worker.php start

는 시작 성공을 나타내는 OK를 표시합니다. 새 서버 링크를 생성하고 telnet 127.0.0.1 8989를 입력하여

Workerman 액세스 MySQL을 테스트하세요.

1. pdo 및 pdo_mysql 등을 설치합니다. 관련 확장
2. config.php에 데이터베이스 관련 구성을 추가합니다. Worker 모듈의 Conf 디렉터리

3. 서버 주소로 localhost를 사용하지 않고 IP127.0.0.1을 사용합니다.

4. 데이터베이스 구성 후 Thinkphp를 직접 Db 방식으로 사용할 수 있습니다

위 내용은 thinkphp와 함께 워커맨을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제