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
相似问题