Ошибка сегментации PHP 7.0 при чтении memcached

Я использую 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 попытается использовать одно поле таблицы вместо имени моей таблицы.

У меня проблема только на рабочем сервере. У тебя есть какие-нибудь подсказки?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
512
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После того, как я сосредоточился на проблеме доступа к 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

Просто дружеское напоминание: вы можете принять свой собственный ответ, и тогда вопрос будет отмечен как ответ (я знаю, что вам придется подождать день или около того).

hakre 22.04.2018 21:18

Другие вопросы по теме