我们有一台机器上安装了两个php:php5.2.17 和php5.4.2 ,这两个php分别以fcgi(9000端口)和fpm(9056)方式挂载到nginx上,昨天有反应说上传文件大于20MB就上传不上去,我们原来是改过php.ini,我检查发现一个网站的conf文件里一部分使用了9000端口,另外一部分使用了9056端口,这个显然不对,明显同时使用了两个php,配置的20MB只在php5.4上生效,于是就都改为9056。
过了一会客户反应说无法登陆,但是在另外一个同事上能够正常登陆,而我的登陆不上去,我们测试发现登陆不上时报错无法读取对应的session。
我们检查半天也想不出来为什么一部分能够登陆另外一部分不能够登陆。
最后我们查到对应的session文件是存在的,但是用户名为root,而php5.4的用户名为nobody。于是我们把fpm中的user改为root,结果启动不起来,因为fpm不允许root身份运行。
我们最后努力想为什么这个session是root用户创建的?
我最后想起了另外一个php(5.2),这个php是使用fcgi,用的用户是root,我终于明白了,之前登录不上的用户是老用户他们的session是由php5.2.17创建的,能够登录上的用户是新用户,他们的session是由php5.4创建的。
解决办法是把所有的session都删除即可。
阅读(4982) | 评论(0) | 转发(0) |