swoole完美適配thinkphp5,有需要的可參考學習下進階中高級
momo
momo 2018-12-10 11:41:34
0
1
1289

以下是調試配置成功後的程式碼,為方便大家學習,節省大家研究時間,在此共享。

1.開啟httpServer請求

可以在thinkphp的目錄下建立一個server目錄,裡面建立一個http_server.php

2.在http_server.php中做幾件事

1.設定靜態資源檔

//配置静态文件 http://www.live-swoole.com:8811/ $http->set( [ 'enable_static_handler' =>true, //true则,底层收到Http请求会先判断document_root路径下是否存在此文件,如果存在会直接发送文件内容给客户端,不再触发onRequest回调 'document_root' => '/var/www/html/thinkphp5/public/static' , //默认静态资源文件存放目录 'worker_num' => 5, ] );

2.swoole行程開啟時載入thinkphp框架

$http->on('WorkerStart',function(swoole_server $serv,$worker_id){ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架里面的文件 require __DIR__ . '/../thinkphp/base.php'; });


3、因為swoole接收參數和thinkphp中接收不一樣,所以需要轉換為thinkphp可識別,轉換POST參數範例如下:

$_POST = [];解决swoole对全局变量不会自动注销 if(isset($request->post)){ foreach ($request->post as $k => $v) { $_POST[$k] = $v; } }

4.解決每次路由存取顯示第一次存取時的路徑資訊

找到thinkphp/library/think/Request.php檔案
function path 中的if (is_null($this->path)) {}註解或刪除 裡面的內容不動

function pathinfo中的if (is_null($this->pathinfo)) {}註解或刪除 裡面的內容不動

結束!有疑問的歡迎線上留言交流

momo
momo

分享tp,laravel,swoole等教程,需要加微信:PHPopen888,还可加入微信群,各种大牛都是3-8年PH...

全部回覆 (1)
momo

實在是666

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!