Maison  >  Article  >  cadre php  >  Comment utiliser Workman avec thinkphp

Comment utiliser Workman avec thinkphp

尚
avant
2019-11-30 16:53:095467parcourir

La colonne suivante du Tutoriel de démarrage de Workerman vous présentera la méthode de combinaison de Workerman avec thinkphp. J'espère qu'elle vous sera utile.

Comment utiliser Workman avec thinkphp

Pour exécuter Workererman, vous devez installer pcntl et event ou libevent

Méthode d'installation de pcntl :

avec php-5.5 .20 est pris comme exemple. La situation réelle est basée sur le répertoire PHP que vous avez installé

1. Recherchez le code source PHP et entrez le répertoire php-5.5.20/ext/pcntl/ cd. php-5.5.20/ext/pcntl/

2. Exécutez Locate phpize pour trouver le répertoire phpize et exécutez /usr/local/php-5.5.20/bin/phpize

3. Exécutez ./configure --with-php-config=Chemin du fichier de configuration PHP Par exemple : ./configure --with-php-config=/usr/local/php-5.5.20/bin/php-config

4. Compilez et installez make && make install if/ext /pcntl/modules/pcntl.so est généré et compilé avec succès

5. Ajoutez l'extension au PHP.INI chargé par php echo "extension=pcntl. so" >> /etc/php.ini (Entrez la commande php --ini pour afficher le chemin de configuration php.ini actuellement utilisé)

6. Redémarrez nginx nginx -s reload

7. Visualiser le service ps -aux | grep pcntl

S'il s'agit de la version 5.3, vous pouvez directement saisir la commande pour installer :

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

méthode d'installation par événement :

1. yum install libevent-devel -y

2. événement d'installation pecl

Invite : Inclure la prise en charge de libevent OpenSSL [oui] : Entrez non et appuyez sur Entrée, sinon simplement appuyez sur Entrée

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

méthode d'installation de libevent :

1. libevent-devel

2. canal d'installation pecl://pecl .php.net/libevent-0.1.0 //Installation rapide de libevent [autodetect] : appuyez sur Entrée

3. Vérifiez le PHP répertoire lib/php/extensions/no-debug-non-zts-20121212 Si libevent.so est généré sous le répertoire

4. Entrez la commande php -v pour afficher les extensions installées

Workerman intégré à Thinkphp : (recommandé : Tutoriel Workerman)

1 Placez le répertoire Workerman téléchargé dans le répertoire ThinkPHPLibrary du projet

2. les noms de fichiers des fichiers de classe dans le répertoire Workerman sauf LibConstants.php à *.class.php

3. Créez un nouveau fichier Worker.php dans le répertoire racine du projet avec le contenu suivant :

<?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. Copiez une copie du module Home et changez son nom en Worker

5. Créez un nouveau contrôleur Worker dans le module Worker avec le contenu suivant :

<?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. Entrez dans le système Linux et ouvrez le port 8989

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

7. Entrez dans le répertoire racine du projet et entrez la commande de démarrage :

php worker.php start

affiche OK, indiquant un démarrage réussi

8. Créer un nouveau lien de serveur, entrez telnet 127.0.0.1 8989 pour tester

Accès Workerman à MySQL :

1 Installez les extensions associées telles que pdo et pdo_mysql

2. Ajoutez les configurations liées à la base de données à config.php dans le répertoire Conf du module Worker

3. Adresse du serveur N'utilisez pas localhost et utilisez IP127.0.0.1

. 4. Après avoir configuré la base de données, vous pouvez directement utiliser la méthode Db de Thinkphp



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer