Php
HHVM 不使用 memcached 作為保存處理程序?
我正在使用 HHVM 來提供我的 PHP 內容,並
memcached
設置了一個實例以將其用作會話的保存處理程序,但是我不確定 HHVM 是否真的在使用它。這是的相關部分
/etc/hhvm/php.ini
:session.save_handler = memcached session.save_path = /tmp/memcached.sock memcached.sess_prefix = 'php_'
筆記; 我必須使用
session.save_handler
值memcached
而不是memcache
原版 PHP 中使用的值。我還必須設置一個,memcached.sess_prefix
否則我會收到關於它為空的錯誤。但是,如果我連接
memcached
並請求它的統計資訊,它看起來好像根本沒有儲存任何會話memcached
。以下是命中/未命中的統計數據:
STAT get_hits 15 STAT get_misses 29
守護
memcached
程序已經連續執行了幾個星期,因此這些值似乎非常低。事實上,我懷疑它們可能是我在切換到hhvm
.沒有
/var/log/hhvm/error.log
與 memcached 或會話有關的錯誤,因此它似乎沒有連接失敗,這表明它根本沒有嘗試。雖然如果是這種情況,我不知道會話是如何儲存的,因為它們似乎沒有進入/tmp
,但它們似乎確實有效(HHVM/PHP 是否將任何會話數據儲存在 RAM 本身中?)一切似乎都已正確配置,還有其他需要更改的地方嗎?
似乎 HHVM 根本不支持
memcached
,即使將保存處理程序設置為“memcached”也不會導致錯誤或警告消息(而memcache
報告為無法辨識)。這很不幸,但我發現 HHVM 的穩定性很差,無法預編譯我的所有腳本,所以我還是改用了 PHP 7。PHP 7 也尚不
memcached
支持,但有望很快恢復。