Memcached

Roundcube 1.3.8 + Memcached + PHP 7.3

  • March 17, 2019

我正在測試將我的 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 的一個分支,但你的可能不是其中之一,你應該期望它最終會消失。

引用自:https://serverfault.com/questions/958697