Memcached
Roundcube 1.3.8 + Memcached + PHP 7.3
我正在測試將我的 Roundcube 1.3.8 安裝轉移到 php 7.3。它是負載平衡的,我一直在使用 memcache 進行 php 5 的會話儲存,沒有任何問題:$config
$$ ‘session_storage’ $$= ‘記憶體記憶體’;
// Use these hosts for accessing memcached // Define any number of hosts in the form of hostname:port or unix:///path/to/socket.file $config['memcache_hosts'] = array( 'server1:11211','server2:11211');
當我在 php 7.3.3 上嘗試相同的配置時,我收到以下錯誤:
[17-Mar-2019 19:11:16 +0000]: DB Error: Failed to connect to memcached. Please check configuration in /path/to/roundcube/program/lib/Roundcube/rcube_session_memcache.php on line 49 (GET /mail/)
我已經能夠從 php 7.3 執行一個簡單的測試腳本來驗證 memcache 確實在工作。
有什麼建議為什麼這不適用於 Roundcube 1.3.8?
TL;DR:切換到 redis。
PHP 7 不再支持 php-memcache,該項目似乎被放棄了。僅支持 php-memcached。這是使用 memcached 的兩種不同的 PHP API。Roundcube 尚未更新以使用新的 API,而且顯然永遠不會。一些發行版正在維護舊 API 的一個分支,但你的可能不是其中之一,你應該期望它最終會消失。