У меня есть среда разработки и среда тестирования, которые (якобы) настроены одинаково, но код, работающий на сервере разработки, не работает на тестовом сервере. Я сузил его до memcached. Среда разработки использует memcached и работает нормально; но на тестовом сервере нет хранилища сеансов, использующего драйвер memcached в файле конфигурации приложения. Если я изменю тестовый сервер для использования собственного файлового драйвера Laravel, весь код сеанса будет работать как шарм; измените его обратно на использование memcached, и данные сеанса не сохранятся. Код идентичен; обе среды клонируются из одного репо при одной фиксации. Выход из phpinfo()
в обеих средах почти идентичны, за исключением различий в URL-адресе сервера и пути реферера, которые можно ожидать при запуске сценария на разных серверах. Просто кажется, что memcached не работает / не работает на тестовом сервере, и я недостаточно знаком с тем, как это работает, чтобы знать, почему бы и нет, или как устранить неполадки. У кого-нибудь есть подсказки или есть что попробовать? Может быть проблема с разрешениями? Есть ли файл конфигурации, который мне нужно изменить на тестовом сервере, чтобы он соответствовал содержимому dev? (The phpinfo()
вывод для секции memcached точно такой же для обоих серверов.)
Настройка сервера:
Как ни странно, memcached на самом деле не был установлен на тестовом сервере; Вы могли подумать, что при установке расширения php memcached он будет жаловаться на подобные вещи, но нет, он успешно установил расширение без единого пика.