博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
由验证码和session丢失的引发原因
阅读量:5041 次
发布时间:2019-06-12

本文共 1240 字,大约阅读时间需要 4 分钟。

今天中午,突然完整验证码全部不能显示了,查看gd库是没问题的,然后发现网站登录不上,追查变天,无果。

然后两个小时过后,可能是网站压力小了,网站又恢复正常。

但是过一阵又来。

 

其实很明显不是代码的问题,而是服务器环境问题。

查看内存,发现只剩下几十m,怪不得php不正常工作了。

然后用命令查看ps aux | grep -c php-fpm php进程数,发现有50+,每个占用0.2%,那就是10%。然而就是这样内存就爆了。

修改php-fpm的进程数 php-fpm.conf  max_child,得以缓解问题。

 

2015-07-15:但是问题继续,这次等了几个小时还是没有恢复,开始调试代码,结果发现的入口文件index.php文件有问题。有bom,就是前面有输出,所以header函数失效,session也失效。问题解决。但是php-fpm的问题还是继续。

2016-04-18补充

今天发现一个问题,访问不存在的图片,会导致session丢失,具体原因不知道,但是间接导致这个原因的是nginx的rewrite

if (!-e $request_filename) #支持thinkphp            {                 rewrite  ^/test/(.*)$  404 break;                 rewrite  ^/dianping/(.*)$  404 break;                                      rewrite  ^/((?!backup/).*)$  /index.php?s=$1  last;                             break;                     }

这是原来的配置,有缺陷,会把图片也解析

location ~ .*\.(htm|html)$ {            if (!-e $request_filename) #支持thinkphp            {                 rewrite  ^/test/(.*)$  404 break;                 rewrite  ^/dianping/(.*)$  404 break;                                      rewrite  ^/((?!backup/).*)$  /index.php?s=$1  last;                             break;                     }        }

加上

location ~ .*\.(htm|html)$ {},就不会全部解析到index.php了

转载于:https://www.cnblogs.com/zenghansen/p/4624731.html

你可能感兴趣的文章
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
聊聊、Zookeeper Linux 单服务
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>