2010-11-20 70 views
4

问候。nginx/php/php-fpm |存储Cookie的问题

我现在正在重新安装我的整个专用服务器。我去

-Ubuntu服务器10.10

-PHP 5.3.3.1

-php-FPM

-nginx

现在,几乎所有的东西似乎工作,虽然会议仍然存在一个问题。不管我做什么,这些会话似乎都没有妥善保存(并且他们在前面的设置中做过)。

基本应用程序是phpBB板。当我登录时,没关系 - 尽管它将附加的SID参数附加到所有的URL。

论坛/的index.php?SID = f506ccd42065322f61cb56fc6df6557a

就可以在论坛上浏览没有任何问题,但如果你删除该SID参数,你得到注销。我想,也许这些会话不是存储在cookie中,而是存储在URL中,但是php配置看起来很好。

同样的情况发生在phpMyAdmin中 - 当我删除令牌参数时,我也会注销。

与此同时,看起来cookies正在创建,就像他们没有使用,或立即被删除。

我越来越感到沮丧,也许有人对如何解决这个问题有想法?我将发布必要的任何配置文件。

我想也许这是suhosin的问题(它没有安装在以前的设置),但我没有线索。 PHP配置是开箱即用的atm,我只修改了nginx配置。

+0

不会http://serverfault.com/是更好的地方问它吗? – 2010-11-20 19:59:12

回答

2

各种会话cookie参数都是documented here

特别要检查“session.use_cookies”,“session.use_only_cookies”和“session.trans_sid”设置。如果PHP无法成功创建cookie,它将回退到trans_sid方法(这就是您所看到的:会话ID作为查询/表单变量传递)。

通过在Firefox中使用FirebugHTTPFox,您可以轻松检查是否有任何cookie相关的标题出去。两者都可让您查看请求的传入/传出标头。

2

可能有些有用的信息可以在PHP-fpm error log找到?在php.ini

error_reporting = E_ALL & ~E_DEPRECATED 
log_errors = On 
error_log = ; 

一些文件PHP的设置参数,可以在编写或“系统日志”

也可以尝试在nginx error log看。

请问PHP-fpm process-owner有写入权限sessions dir?请参阅session.save_pathphp.inisession dir

+0

没有什么是在日志中,但在完成服务器上的所有工作并重新启动所有服务后,神奇地开始工作。猜猜我开始搞砸了一些东西:) – user514592 2010-11-21 16:55:44

0

此外,请注意用户和进程组,因为这会影响创建会话文件的默认权限。如果设置为默认值,则可能会创建为root,然后在下次访问会话文件时无法读取它。

查找的过程Unix user/groupphp-fpm.conf组用户和组php-fpm

1

看看你session_path是正确的,具有正确的权限。这解决了我的问题。