以下是调试配置成功后的代码,为方便大家学习,节省大家研究时间,在此共享。
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