我在magento和Symfony2之間有一些「有趣」的共享會話。它的作品真的很好在我的電腦(Mac OSX版10.6 + PHP 5.3.3),這裏是機制:PHP會話不會被讀取
- 用戶登錄到Magento的(上foo.example.com)
- 用戶轉到其他網站上(bar.example.com)並記錄。
- 會話存儲爲magento var/session目錄下的文件。
會話Cookie設置爲在所有.example.com子域上共享。正如我之前所說,它在我的機器上完美地工作。
我今天在使用PHP 5.3.5-dotdeb的Ubuntu 8.0.4服務器上部署了這兩個應用程序,併爲我的生產域(.example.org)配置了會話共享機制。 會話cookie也在兩個子域之間共享。
而現在,有趣的開始:
- 我登錄我的Magento應用上foo.example.org並得到一個會話cookie與價值「ABC」
- 文件名sess_abc是創造magento var/session目錄。
- 文件擁有者是www-data:www-數據和文件權限是-rw -------
如果我刷新magento頁面,我仍然記錄下來。
我去我的其他應用上bar.example.org
- PHP接受會話cookie ABC,但不獲取裏面的數據。
- 如果我做一個var_dump($ _ SESSION),我會有一個空數組
- 最後,文件sess_abc被覆蓋,權限是相同的。
- 如果我刷新此頁面,我的var_dump將提供一些symfony寫入會話的信息。
你們有沒有想過爲什麼PHP不會從這個會話文件中檢索數據? 我已經試過chmod go + rw會話文件,但結果是一樣的...
一個大的大大的提前!
編輯:
Suhosin已啓用。 phpinfo()函數給出了這樣的bar.example.org
suhosin.session.checkraddr 0 0 suhosin.session.cryptdocroot On On suhosin.session.cryptkey [ protected ] [ protected ] suhosin.session.cryptraddr 0 0 suhosin.session.cryptua Off Off suhosin.session.encrypt On On suhosin.session.max_id_length 128 128 session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn Off Off session.cache_expire 180 180 session.cache_limiter no value nocache session.cookie_domain .example.org no value session.cookie_httponly Off Off session.cookie_lifetime 3600 0 session.cookie_path// session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name frontend PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /www/var/session no value session.serialize_handler php php session.use_cookies On On session.use_only_cookies On On session.use_trans_sid 0 0
在你的'php.ini'中,session.cookie_domain'設置爲什麼? – drudge 2011-03-30 22:29:15
黑暗中刺:你的主機上啓用了'suhosin',如果是的話,它的suhosin是什麼。會議。*'設置?(並且請提供所有正常的'session。*'設置,以節省更多猜測:) – Wrikken 2011-03-30 22:39:52
我添加了一些信息... – futurecat 2011-03-30 22:48:02