小編給大家分享一下如何使TP5.0在SWOOLE上速度更快,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為和林格爾企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),和林格爾網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
TP-SWOOLE
目前,TP5.1官方已經(jīng)提供了think-swoole2.0,集成程度以前優(yōu)雅很多,不過5.0的集成方式確實有些雞肋。所以看了下2.0,為5.0開發(fā)了一個擴展包,可以采用composer下載
composer require xaviertony/xavier-swoole
開發(fā)之前,需要先熟悉TP5.0的生命周期,不然就無從下手了。
由于TP主要在Apache或者NGINX下運行,每次運行結(jié)束都會進行釋放,而swoole則是常住內(nèi)存,TP5很多類都由單例實現(xiàn),所以難免會入坑,其中大坑主要是request,由于啟動后請求被實例化,如果不刪除請求勢力,以后每次都是采用這個實例,造成無法正常訪問頁面,因為每次請求達到后需要先將請求實例刪除
public static function deletethis() { if (!is_null(self::$instance)) { self::$instance=null; } }
第三方包的配置文件必須在application/extra下,文件名為swoole.php
'0.0.0.0', // 監(jiān)聽地址 'port' => 9501, // 監(jiān)聽端口 'mode' => '', // 運行模式 默認為SWOOLE_PROCESS 'sock_type' => '', // sock type 默認為SWOOLE_SOCK_TCP 'app_path' => getcwd() . '/application', // 應(yīng)用地址 如果開啟了 'daemonize'=>true 必須設(shè)置(使用絕對路徑) 'file_monitor' => false, // 是否開啟PHP文件更改監(jiān)控(調(diào)試模式下自動開啟) 'file_monitor_interval' => 2, // 文件變化監(jiān)控檢測時間間隔(秒) 'file_monitor_path' => [], // 文件監(jiān)控目錄 默認監(jiān)控application和config目錄 // 可以支持swoole的所有配置參數(shù) '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
停止服務(wù)
php think swoole stop
看完了這篇文章,相信你對“如何使TP5.0在SWOOLE上速度更快”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!