【问题标题】:PHP 7.0 Segmentation fault when reading memcached读取 memcached 时出现 PHP 7.0 分段错误
【发布时间】:2018-04-20 20:04:24
【问题描述】:

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

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

有时我也有这个错误信息:

production.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mybase.onefield' 不存在

是的“mybase.onefield”,Eloquent 尝试使用一个表字段来代替我的表名。

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

【问题讨论】:

    标签: php laravel-5 cron memcached


    【解决方案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
    

    【讨论】:

    • 友情提示:您可以接受自己的答案,然后将问题标记为已回答(我知道您必须等待一天左右)。
    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多