2010-11-20 85 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是正確的,具有正確的權限。這解決了我的問題。