PHP 7.0 读取 memcached 时出现分段错误

PHP 7.0 Segmentation fault when reading memcached

我使用 Laravel 5.5 和 memcached 1.4.21。前面:nginx 服务器(1.10.1)和一个 fpm 进程 PHP 7.0.

Cron 任务使用与网络控制器相同的模型。但是当 cron 加入 memcached 时,进程崩溃并出现 Segmentation fault。相同的代码就像来自 HTTP 请求的魅力一样工作。唯一的区别是 cron 使用 PHP CLI 和 web 控制器使用 fpm 进程。

有时我也会收到此错误消息:

production.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mybase.onefield' doesn't exist

是 "mybase.onefield",Eloquent 尝试使用一个 table 字段代替我的 table 姓名。

我只在生产服务器上遇到问题。你有什么线索吗?

在关注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