让TP5.0在SWOOLE上飞起来
生活随笔
收集整理的這篇文章主要介紹了
让TP5.0在SWOOLE上飞起来
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TP-SWOOLE
目前,TP5.1官方已經提供了think-swoole2.0,集成程度以前優雅很多,不過5.0的集成方式確實有些雞肋。所以看了下2.0,為5.0開發了一個擴展包,可以采用composer下載
composer require xaviertony/xavier-swoole開發之前,需要先熟悉TP5.0的生命周期,不然就無從下手了。
由于TP主要在Apache或者NGINX下運行,每次運行結束都會進行釋放,而swoole則是常住內存,TP5很多類都由單例實現,所以難免會入坑,其中大坑主要是request,由于啟動后請求被實例化,如果不刪除請求勢力,以后每次都是采用這個實例,造成無法正常訪問頁面,因為每次請求達到后需要先將請求實例刪除
public static function deletethis(){if (!is_null(self::$instance)) {self::$instance=null;}}第三方包的配置文件必須在application/extra下,文件名為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, ];啟動命令
php think swoole start守護啟動
php think swoole start -d停止服務
php think swoole stop 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的让TP5.0在SWOOLE上飞起来的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 服务器安装mysql5.6
- 下一篇: JavaBeans四个作用域 范围