swoole完美适配thinkphp5

以下是本人亲自调试配置成功后,为方便大家学习,节省大家研究时间,在此共享。

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)) {}注释或删除  里面的内容不动


结束!有疑问的欢迎在线留言交流。


    

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值