我正在進行magento部署,主要目標是簡化產品創建。 基本上我們在後端有一些非常耗時的調用,它們應該運行異步,以便用戶可以繼續工作。Magento無法識別memcached php會話
- 我在這第一炮是使用
AJAX
發佈的數據耗時腳本,並通過javascript
重新定位用戶。
這個有點工作,但Magento的會議似乎是依賴於PHP的會議 - 據我可以看到該用戶將不得不在php.ini
,一個在magento/var/session
創建指定的目錄下創建一個會話。
因爲這個php會話是基於文件的,我不會在第一次調用之前在第二次請求(重定向)或同一會話中的任何其他請求中獲得服務器的任何響應(該腳本由ajax
調用)完了。
- 我的解決方案是memcache這些會話文件(與magento一起)以允許這些異步調用。
但是,magento現在無法識別這些會話,因爲它們存儲在memcache中。
這是爲什麼?
我認爲它在訪問這些會話時使用了標準的PHP函數 - 儘管我在源代碼中找不到這些函數,但它們必須以某種方式調用。
我已成功測試會話可以正確存儲和加載。 我沒有收到任何錯誤消息,並且日誌爲空。
任何想法爲什麼magento無法處理這個?
這是甚至可以接受的方法來實現這些異步調用,還是有更好的解決方案?
TL; DR 標準php會話正在使用memcache進行存儲。 Magento似乎無法識別它們。爲什麼是這樣?
感謝您的迴應。但是,這並非如此。我在我的local.xml文件中有這個確切的代碼,這使得magento自己的會話memcached - 這確實有效。例如,我可以將mangento自己的會話memcached和php的會話保存爲文件 - 這是有效的。當我memcache php會話時發生問題。基本上每個會話有兩個不同的會話(具有任何意義?) 通過文件結構,它可能看起來像這樣: /web/tmp/[php會話,在php.ini中描述的路徑] /web/www/magento/temp/sessions/[magento會話,config.xml中的路徑] – user1238626 2012-02-29 09:44:56
FTR我正在測試這個wamp。 – user1238626 2012-02-29 10:01:13
你做錯了什麼。您應該在您通過ajax調用的自定義php腳本中重用magento會話。 – Zyava 2012-03-01 21:22:41