Die folgende Tutorial-Kolumne des thinkphp-Frameworks zeigt Ihnen, wie Sie TP5.0 auf SWOOLE zum Laufen bringen. Ich hoffe, dass es für Freunde hilfreich sein wird, die es brauchen!
TP-SWOOLE
Derzeit stellt TP5.1 offiziell think-swoole2.0 bereit, und der Integrationsgrad war hoch Vorher eleganter, aber die Integrationsmethode von 5.0 ist tatsächlich etwas geschmacklos. Also habe ich mir 2.0 angesehen und ein Erweiterungspaket für 5.0 entwickelt, das mit Composer
composer require xaviertony/xavier-swoole
heruntergeladen werden kann. Vor der Entwicklung müssen Sie mit dem Lebenszyklus von TP5.0 vertraut sein, andernfalls ist dies nicht möglich Start.
Da TP hauptsächlich unter Apache oder NGINX läuft, wird es nach jedem Vorgang freigegeben, während Swoole ein permanenter Speicher ist. Viele TP5-Klassen werden von Singletons implementiert, sodass es unvermeidlich ist, in Fallstricke zu geraten, darunter die Die größte Gefahr besteht darin, dass die Anforderung nach dem Start instanziiert wird. Wenn die Anforderung nicht gelöscht wird, wird diese Instanz in Zukunft jedes Mal verwendet, was dazu führt, dass die Seite nicht normal aufgerufen werden kann, da die Anforderungsinstanz sie benötigt muss nach Erreichen jeder Anforderung zuerst gelöscht werden
public static function deletethis() { if (!is_null(self::$instance)) { self::$instance=null; } }
Die Konfigurationsdatei des Drittanbieterpakets muss sich unter application/extra befinden und der Dateiname ist swoole.php
<?php return [ 'host' => '0.0.0.0', // 监听地址 'port' => 9501, // 监听端口 'mode' => '', // 运行模式 默认为SWOOLE_PROCESS 'sock_type' => '', // sock type 默认为SWOOLE_SOCK_TCP 'app_path' => getcwd() . '/application', // 应用地址 如果开启了 'daemonize'=>true 必须设置(使用绝对路径) 'file_monitor' => false, // 是否开启PHP文件更改监控(调试模式下自动开启) 'file_monitor_interval' => 2, // 文件变化监控检测时间间隔(秒) 'file_monitor_path' => [], // 文件监控目录 默认监控application和config目录 // 可以支持swoole的所有配置参数 'pid_file' => getcwd() . '/runtime/swoole.pid', 'log_file' => getcwd() . '/runtime/swoole.log', 'task_worker_num' => 20, //'document_root' => getcwd() . 'public', //'enable_static_handler' => true, 'daemonize' => 1,//守护 'worker_num' => 8, //worker process num 'max_request' => 10000, ];
Startbefehl
php think swoole start
Daemon-Start
php think swoole start -d
Dienst stoppen
php think swoole stop
Das obige ist der detaillierte Inhalt vonDiese Methode kann TP5.0 auf SWOOLE zum Fliegen bringen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!