问候。
我现在正在重新安装我的整个专用服务器。
我去了-Ubuntu Server 10.10
-PHP 5.3.3.1
-php-FPM
-nginx
现在,几乎所有内容似乎都有效,但会话仍存在一个问题。无论我做什么,会话似乎都没有正确存储(并且他们在之前的设置中做了)。
基础应用程序是phpBB板。当我登录时,它没关系 - 虽然它为所有URL附加了额外的SID参数。
论坛/的index.php?SID = f506ccd42065322f61cb56fc6df6557a
您可以毫无问题地浏览论坛,但如果删除SID参数,则会退出。我想,也许这些会话不是存储在cookie中,而是存储在URL中,但php配置似乎很好。
phpMyAdmin也是如此 - 当我删除令牌参数时,我也会被注销。
与此同时,似乎无论如何都会创建cookie,就好像它们没有被使用,或者被立即删除。
我对此越来越感到沮丧,也许有人知道如何解决这个问题?我将发布所需的任何配置文件。
我想也许这是suhosin的问题(它没有安装在之前的设置上),但我不知道。 PHP配置是开箱即用的atm,我只修改了nginx配置。
答案 0 :(得分:2)
各种会话cookie参数都是documented here。
请特别检查“session.use_cookies”,“session.use_only_cookies”和“session.trans_sid”设置。如果PHP无法成功创建cookie,它将回退到trans_sid方法(这就是你所看到的:会话ID作为查询/表单变量传递)。
您可以使用Firefox中的Firebug和HTTPFox轻松检查是否有任何与Cookie相关的标头。两者都允许您查看请求的传入/传出标头。
答案 1 :(得分:2)
可以在PHP-fpm error log
中找到一些有用的信息吗?在php.ini
error_reporting = E_ALL & ~E_DEPRECATED
log_errors = On
error_log = ;
某些文件php可以写入或“syslog”
同时尝试查看nginx error log
。
PHP-fpm process-owner
是否具有sessions dir
的写权限?有关session.save_path
php.ini
,请参阅session dir
答案 2 :(得分:1)
查看您的session_path是否正确并具有正确的权限。这解决了我的问题。
答案 3 :(得分:0)
另外,请注意用户和进程组,因为这会影响创建会话文件的默认权限。如果设置为默认值,则可能会创建为root
,然后在下次访问会话文件时无法读取。
在Unix user/group
中查找php-fpm.conf
个进程
并将用户和群组设置为php-fpm