Я тестирую перенос установки Roundcube 1.3.8 на php 7.3. Он сбалансирован по нагрузке, и я без проблем использую memcache для хранения сеанса с php 5: $ config ['session_storage'] = 'memcache';
// 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. Это два разных PHP API для использования memcached. Roundcube не был обновлен для использования нового API, и очевидно никогда не будет. Некоторые дистрибутивы поддерживают форк старого API, но ваш, вероятно, не один из них, и вы должны ожидать, что даже это со временем исчезнет.