Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Версия Laravel: 5.3
Версия PHP: 7.1.6
Операционная система: Oracle Linux 7 (Red Hat 4.8.5-11)
Вендор и версия Веб-сервера: Apache/2.4.6
Метод подключения PHP: Apache Module
При попытке использования сервера Memcached для хранения кэша и сессий возникает следующая ошибка:
RuntimeException in MemcachedConnector.php line 102:
No Memcached servers added.
in MemcachedConnector.php line 102
at MemcachedConnector->validateConnection(object(Memcached)) in MemcachedConnector.php line 38
at MemcachedConnector->connect(array(array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100)), null, array(), array()) in CacheManager.php line 169
at CacheManager->createMemcachedDriver(array('driver' => 'memcached', 'persistent_id' => null, 'sasl' => array(null, null), 'options' => array(), 'servers' => array(array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100)))) in CacheManager.php line 103
В файле .env прописано следующее:
BROADCAST_DRIVER=log
CACHE_DRIVER=memcached
SESSION_DRIVER=memcached
QUEUE_DRIVER=sync
Сервер Memcached запущен и работает:
● memcached.service - Memcached
Loaded: loaded (/usr/lib/systemd/system/memcached.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2017-06-15 14:36:24 MSK; 4min 56s ago
Main PID: 3719 (memcached)
CGroup: /system.slice/memcached.service
└─3719 /usr/bin/memcached -u memcached -p 11211 -m 2048 -c 1024
Необходимые php пакеты подключены и работают. Очистка кэша через консоль работает:
php artisan cache:clear
Cache cleared successfully.
Если на сервере изменить порт с 11211 на любой другой и не менять его в Laravel, то при попытке очистки кэша выдается ошибка в консоль.
Подскажите, пожалуйста, в чем может быть проблема.
Не в сети
исходя из того что версия пхп для сервера не родная, я бы начал с проверки того что php-cli и mod-php имеют одну версию и одинаковый конфиг – php -i с ком. строки и <?php phpinfo(); на вебсервере. возможно какой-то из них не грузит расширение. кроме этого есть всякие SELinux и прочие AppArmor-ы которые могут внезапно одному пользователю подключаться к другому сервису, а другому – нет. если веб-часть и командная строка работают от разных юзеров (вообще в принципе это неправильно! посмотри как сервера настраивает laravel forge – там на подключение по ssh и на php-fpm создаётся один общий пользователь!) – возможно в таком случае оно вмешивается и не допускает процесс апача к процессу мемкэша
Не в сети
Страницы 1