今天中午,突然完整验证码全部不能显示了,查看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/(.*)$ break;
rewrite ^/dianping/(.*)$ break;
rewrite ^/((?!backup/).*)$ /index.php?s=$ last;
break;
}

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

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

加上

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

由验证码和session丢失的引发原因的更多相关文章

  1. 解决nginx中proxy_pass到tomcat的session丢失问题

    之前在配置tomcat的时候都是一个项目对应一个tomcat,也就是一个端口.最近需要把两个项目整合到同一个tomcat中,通过配置nginx让两个域名指向同一tomcat的不同项目.整合完毕后发现其 ...

  2. Linux下Session丢失原因

    最近碰到一个问题,把代码迁移到linux系统下,重新搭建php环境,运行代码, 在登录页面时,不能访问后台,会返回到登录页面,对代码测试,没有报任何错误, 最后检查到是跳转时,session丢失的问题 ...

  3. 造成session丢失的原因和解决方法

    win2003 server下的IIS6默认设置下对每个运行在默认应用池中的工作者进程都会经过20多个小时后自动回收该进程,   造成保存在该进程中的session丢失. 因为Session,Appl ...

  4. ASP.NET Session丢失问题原因及解决方案

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. ASP.NE ...

  5. Session丢失原因与解决方案

    win2003 server下的IIS6默认设置下对每个运行在默认应用池中的工作者进程都会经过20多个小时后自动回收该进程,   造成保存在该进程中的session丢失. 因为Session,Appl ...

  6. Session丢失的原因及解决办法

    Asp.net 默认配置下,Session莫名丢失的原因及解决办法: 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定 ...

  7. 获取登录验证码失败及前后端不同域导致session丢失问题分析记录

    前言 前两周在把兄弟公司的几个服务部署到我们公司测试环境服务器的时候又遇到了不少问题,因为是前后端分离的项目,所以这次也同样遇到了跨域问题,解决方式也跟上一回的不一样,这里就再来分析记录一下. 登录验 ...

  8. ASP.net session丢失

    ASP.NET Session的实现: asp.net的Session是基于HttpModule技术做的,HttpModule可以在请求被处理之前,对请求进行状态控制,由于Session本身就是用来做 ...

  9. ASP.NET 状态服务 及 session丢失问题解决方案总结

    ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...

随机推荐

  1. kinect学习笔记(三)——深度数据的提取

    一.创建Console工程 二.添加kinect引用 里面用引用,打开后 选择然后OK. 三.编写代码(有附加注释) using System; using System.Collections.Ge ...

  2. ASP.NET获取客户端IP/用户名等信息

    1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名:Page.Request.UserHostN ...

  3. HBase伪分布式环境下,HBase的API操作,遇到的问题

    在hadoop2.5.2伪分布式上,安装了hbase1.0.1.1的伪分布式 利用HBase的API创建个testapi的表时,提示  Exception in thread "main&q ...

  4. 【POI xlsx】使用POI对xlsx的单元格样式进行设置 / 使用POI对xlsx的字体进行设置

    涉及到的样式都在代码中有说明: package com.it.poiTest; import java.io.FileNotFoundException; import java.io.FileOut ...

  5. Hark的数据结构与算法练习之若领图排序ProxymapSort

    算法说明 若领图排序是分布排序的一种. 个人理解,若领图排序算是桶排序+计数排序的变异版,桶排序计数排序理解了,那么若领图排序理解起来就会比较容易.区别其实就是存储中间值的方式做了调整…… 话说,这个 ...

  6. tcp的三次握手及四次挥手(连接与中断流程)

    连接的三次握手: 1握.client向server发送连接请求,发送的报文是:syn=1,seq number=生成的随机数x .  这时client的状态是SYN_SEND 2握.server从sy ...

  7. Spring AOP 详解

    AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling ...

  8. Xamarin.Forms项目无法添加服务引用

    Xamarin.Forms项目无法添加服务引用 创建的Xamarin.Forms项目中,右击“引用”选项,在弹出的菜单中没有“添加服务引用”命令.这是由于该项目是支持Windows Phone 8.1 ...

  9. Xamarin Anroid开发教程之下载安装Xamarin

    Xamarin Anroid开发教程之下载安装Xamarin Xamarin在过去安装时都会检查系统中是否安装了前面所提供的内容.而后来,Xamarin安装时只提供安装步骤,其它内容都需要读者自己下载 ...

  10. 在vs2013中配置openGL(绝对可靠 !)

    首先要下载glut.h glut32.dll glut32.lib.(这个在glut-3.7.6-bin的包里面,可以直接下载 ) 然后: glut.h:放到 D:\vs2013\VC\include ...