Heim  >  Artikel  >  PHP-Framework  >  So verwenden Sie Workerman mit Thinkphp

So verwenden Sie Workerman mit Thinkphp

尚
nach vorne
2019-11-30 16:53:095408Durchsuche

Die folgende Kolumne des Workerman-Erste-Schritte-Tutorials wird Ihnen die Methode zur Kombination von Workerman mit thinkphp vorstellen. Ich hoffe, dass sie Ihnen hilfreich sein wird.

So verwenden Sie Workerman mit Thinkphp

Um workererman auszuführen, müssen Sie pcntl und event oder libevent installieren

pcntl-Installationsmethode:

mit Als Beispiel wird php-5.5.20 genommen. Die tatsächliche Situation basiert auf dem PHP-Verzeichnis, das Sie installiert haben.

1. Suchen Sie den PHP-Quellcode und geben Sie das Verzeichnis php-5.5.20/ext/pcntl/ ein php-5.5.20/ext/pcntl/

2. Führen Sie „locate phpize“ aus, um das phpize-Verzeichnis zu finden, und führen Sie /usr/local/php-5.5.20/bin/phpize aus

3. Führen Sie ./configure --with-php-config=PHP-Konfigurationsdateipfad aus. Zum Beispiel: ./configure --with-php-config=/usr/local/php-5.5.20/bin/php-config

4. Kompilieren und installieren Sie make && make install if/ext /pcntl/modules/pcntl.so wurde erfolgreich generiert und kompiliert

5. Fügen Sie die Erweiterung zu PHP.INI hinzu, die von php echo „extension=pcntl“ geladen wurde. so" >> /etc/php.ini ( Geben Sie den Befehl php --ini ein, um den aktuell verwendeten php.ini-Konfigurationspfad anzuzeigen)

6. Starten Sie nginx nginx -s reload neu

7. Sehen Sie sich den Dienst ps -aux | an. grep pcntl

Wenn es sich um Version 5.3 handelt, können Sie den Befehl zur Installation direkt eingeben:

yum install php-cli php-process git gcc php-devel php-pear libevent-devel php-pdo php-mysql_pdo -y

Ereignisinstallationsmethode:

1. yum install libevent-devel -y

2. pecl install event

Eingabeaufforderung: Geben Sie „Nein“ ein und drücken Sie die Eingabetaste, andernfalls nur Drücken Sie die Eingabetaste

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

libevent-Installationsmethode:

1 libevent-devel

2. pecl install channel://pecl .php.net/libevent-0.1.0 //Prompt libevent-Installation [automatische Erkennung]: Drücken Sie die Eingabetaste

3. Überprüfen Sie das PHP Verzeichnis lib/php/extensions/no-debug-non-zts-20121212 Ob libevent.so im Verzeichnis

generiert wird 4. Geben Sie den Befehl php -v ein, um die installierten Erweiterungen anzuzeigen

Workerman in Thinkphp integriert: (empfohlen: workerman Tutorial)

1. Legen Sie das heruntergeladene Workerman-Verzeichnis in das Projekt-ThinkPHPLibrary-Verzeichnis

2 die Dateinamen der Klassendateien im workerman-Verzeichnis außer LibConstants.php in * class.php

3. Erstellen Sie eine neue Datei worker.php im Projektstammverzeichnis mit folgendem Inhalt:

<?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. Kopieren Sie eine Kopie des Home-Moduls und ändern Sie seinen Namen in Worker

5. Erstellen Sie einen neuen Worker-Controller im Worker-Modul mit folgendem Inhalt:

<?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. Betreten Sie das Linux-System und öffnen Sie Port 8989

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

7. Geben Sie das Stammverzeichnis des Projekts ein und geben Sie den Startbefehl ein:

php worker.php start

zeigt OK an, was einen erfolgreichen Start anzeigt

8. Erstellen Erstellen Sie einen neuen Server-Link und geben Sie Telnet 127.0.0.1 8989 ein, um

Workerman-Zugriff auf MySQL zu testen:

1. Installieren Sie zugehörige Erweiterungen wie pdo und pdo_mysql

2. Fügen Sie datenbankbezogene Konfigurationen zur config.php im Conf-Verzeichnis des Worker-Moduls hinzu

3. Verwenden Sie nicht localhost und verwenden Sie IP127.0.0.1

4. Nach der Konfiguration der Datenbank können Sie direkt die Db-Methode von Thinkphp



verwenden

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Workerman mit Thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen