Workerman Getting Started Tutorial 칼럼에서는 Workerman과 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('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'; ?>
4. 홈 모듈의 복사본을 복사하고 이름을 Worker
5로 변경합니다. 다음 내용이 포함된 작업자 모듈:
<?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'); } } ?>
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!