Назад | Перейти на главную страницу

Memcached против Amazon Elasticache с PHP на CentOS 7

Я настраиваю новый сервер CentOS 7 в Vagrant для запуска PHP, nginx, MySQL (MariaDB) и memcached (обратите внимание на d в ​​конце). Я могу заставить memcached работать нормально, но я не могу загрузить файл Amazon Elasticache .so с помощью PHP. Я знаю, что файл существует. Как мне заставить PHP загружать это расширение или решить, почему этого не происходит?

Я выполнил инструкции по установке этого расширения здесь: Установка клиента кластера ElastiCache для PHP

Как мне устранить неполадки PHP и почему он может не загружать расширение?

В дополнение к отличному комментарию @Bazze относительно libsas вам может не хватать зависимости (или зависимости от правильной архитектуры)

Обратите внимание, что для некоторых приложений довольно часто приходится устанавливать как 32-разрядные, так и 64-разрядные библиотеки.

Если вы используете ldd /path/to/amazon-elasticache-cluster-client.so, вы видите какие-либо строки с упоминанием «нерешенных» или аналогичных? (Опубликуйте весь вывод в своем вопросе.

Распространенную проблему, подобную этой, можно просто решить, запустив ldconfig, который следует запустить после установки (или добавления символических ссылок) библиотек.

Другая проблема может быть связана с разрешениями или системами контроля доступа, такими как SELinux. Что значит sestatus шоу? Возможно тебе нужно бежать restorecon над каталогом, содержащим библиотеки.

Иногда просто набираю в командной строке:

$ php -m

Для просмотра загруженных модулей будет отображаться некоторая информация о том, почему некоторые модули не загружаются. Также из командной строки иногда выявляются синтаксические ошибки ini-файла, из-за которых модули не загружаются:

$ php --ini

Это первое, что я сделаю для отладки модуля, который не загружается.