5.1.22 tp路由无效且页面输出乱码,swoole request回调里页面信息输出了两遍
来源:7-4 让Swoole完美支持TP5(中)
瞎掰呗
2018-08-15
<?php $http = new swoole_http_server('0.0.0.0', 8080); $http->set([ 'worker_num' => 8, 'enable_static_handler' => true, 'document_root' =>__DIR__ . '/../public/static', ]); $http->on('WorkerStart', function(swoole_server $server, int $worker_id){ //定义应用目录 // define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/base.php'; }); $http->on('request', function($request, $response){ if(isset($request->server)){ foreach($request->server as $k => $v){ $_SERVER[strtoupper($k)] = $v; } } if(isset($request->header)){ foreach($request->header as $k => $v){ $_SERVER[strtoupper($k)] = $v; } } if(isset($request->get)){ foreach($request->get as $k => $v){ $_GET[$k] = $v; } } if(isset($request->post)){ foreach($request->post as $k => $v){ $_POST[$k] = $v; } } ob_start(); try{ // 执行应用并响应 think\Container::get('app')->run()->send(); }catch(\Exception $e){ // todo } $res = ob_get_contents(); ob_end_clean(); print_r($res); $response->end($res); }); $http->start();
写回答
1回答
-
singwa
2018-08-16
同学您好。 输出2遍的话,您需要看看
第一: 您的浏览器是不是谷歌浏览器,如果是谷歌浏览器的话,因为谷歌浏览器会多请求一个 faico的小文件, 这个在课程最后有讲解
第二:乱码问题 您可以看看 浏览器的字符编码 以及 您文件的字符编码。
最后祝您学习愉快。
012018-08-16
相似问题