PHP网站首页空白刷新就好了,swoole,php_Swoole创建的HttpServer服务器在访问时刷新几次页面后就显示空白页,swoole,php - phpStudy...

Swoole创建的HttpServer服务器在访问时刷新几次页面后就显示空白页

问题就是上面说的这样

在前几次访问的时候还是可以的

截图

刚启动swoole程序的页面

第四次刷新

程序脚本还是没变化

代码的话比较长

请求处理的过程

//请求过滤

if ($request->server['path_info'] == '/favicon.ico' || $request->server['request_uri'] == '/favicon.ico') {

return $response->end();

}

// 处理静态文件

if (file_exists($request->server['path_info']) && $request->server['path_info'] != "/index.php") {

//echo "static data request";

//return $response->end("static data request!");

}

$this->response = $response;

// 接收HTTP全局数组

if (isset($request->server)) {

HttpServer::$server = $request->server;

foreach ($request->server as $key => $value) {

$_SERVER[ strtoupper($key) ] = $value;

}

}

if (isset($request->header)) {

HttpServer::$header = $request->header;

}

if (isset($request->get)) {

HttpServer::$get = $request->get;

foreach ($request->get as $key => $value) {

$_GET[ $key ] = $value;

}

}

if (isset($request->post)) {

HttpServer::$post = $request->post;

foreach ($request->post as $key => $value) {

$_POST[ $key ] = $value;

}

}

// 处理输出

ob_start();

try {

//清空request对象

$this->application->clearRequest();

//运行Yii2框架

$this->application->run();

//输出日志到文件,必须强制执行,开启flush之后,qps降低5倍,待研究

Yii::getLogger()->flush(true);

//关闭数据库连接,防止mysql空闲超时

$this->application->db->close();

} catch (Exception $e) {

echo "app-Exception:" . $e->getMessage();

}

$result = ob_get_contents();

ob_end_clean();

// 结束请求

$response->end($result);

unset($result);

swoole服务器的配置代码

$http = new swoole_http_server("0.0.0.0", 9501);

$http->set([

'worker_num' => 16, //worker process num

'backlog' => 128, //listen backlog

'max_request' => 5000,

'dispatch_mode' => 1,

'open_tcp_nodelay' => 1,

'enable_reuse_port' => 1,

'task_worker_num' => 32,

'task_worker_max' => 256,

'daemonize' => false,

'log_file' => '../runtime/logs/swoole_http_server.log',

]);

$http->on('WorkerStart', [$this, 'onWorkerStart']);

$http->on('Request', [$this, 'onRequest']);

$http->on('Task', [$this, 'onTask']);

$http->on('Finish', [$this, 'onFinish']);

$http->start();

每次都是刷新三次页面,前三次都是可以访问的,第四次就直接显示空白页,后面的刷新偶尔有一次可以访问,大部分是空白页

相关阅读:

视频水印有没有java的例子,文档我实在看不懂

vuejs+summernote出现好多问题~

关于缓存的问题

WebStorm node_modules无法取消Excluded?

为什么使用group后就变成两条数据了?

uwsgi调用django,viewset生命周期问题

vue-cli 2.0 chrome npm run dev console error

微信企业号支付成功自动关注

如何防止狂点提交表单按钮导致的数据重复?

JS创建对象的另一种方法是如何理解的?

看jquery sizzle选择器源码的时候遇见的一个数组问题

Swift3 的一些疑惑

怎么把 list1 和 list2 中包含的重复字典去除,合并生成一个新的 list_all?

echart图表大小怎么调节?

将script标签至于display为none的div中疑惑

Laravel 5.1 如何 migrate 某一个指定的迁移文件?

使用react native的担忧

while 如何做自動保存數據?

Vue springboot 跨域请求丢失session

是多个Ajax请求更消耗服务端性能,还是服务端Mysql Join更消耗性能?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值