這個方法可以讓TP5.0在SWOOLE上飛起來!
swoole
tp5.0
下面由thinkphp框架教學專欄跟大家介紹讓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
登入後複製
以上是這個方法可以讓TP5.0在SWOOLE上飛起來!的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)