以下是調試配置成功後的程式碼,為方便大家學習,節省大家研究時間,在此共享。
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)) {}註解或刪除 裡面的內容不動
結束!有疑問的歡迎線上留言交流
實在是666