Я использую Laravel 5.5 с memcached 1.4.21. Впереди: сервер nginx (1.10.1) и процесс fpm PHP 7.0.
Задача Cron использует ту же модель, что и веб-контроллер. Но когда cron подключается к memcached, процесс завершается с ошибкой Ошибка сегментации. Тот же код работает как чудо из HTTP-запроса. Единственная разница в том, что cron использует PHP CLI, а веб-контроллер использует процесс fpm.
Иногда у меня также появляется это сообщение об ошибке:
production.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mybase.onefield' doesn't exist
Да, "mybase.onefield", Eloquent попытается использовать одно поле таблицы вместо имени моей таблицы.
У меня проблема только на рабочем сервере. У тебя есть какие-нибудь подсказки?






После того, как я сосредоточился на проблеме доступа к memcached, я поискал разницу с сервером предварительной конфигурации и нашел одну: igbinary версию.
На предпроизводственной стадии:
--> php -i | grep igbinary
Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-igbinary.ini,
igbinary
igbinary support => enabled
igbinary version => 2.0.1
На производстве:
--> php -i | grep igbinary
Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-igbinary.ini,
igbinary
igbinary support => enabled
igbinary version => 1.2.2-dev
igbinary управляет сериализацией хранилища объектов в memcached. После обновления igbinary все работает нормально.
Команда, спасающая мне жизнь:
apt-get install php7.0-igbinary
Просто дружеское напоминание: вы можете принять свой собственный ответ, и тогда вопрос будет отмечен как ответ (я знаю, что вам придется подождать день или около того).