【问题标题】:PHP Warning: redis.so: undefined symbol: php_json_decode_ex in Unknown on line 0PHP警告:redis.so:未定义符号:第0行未知中的php_json_decode_ex
【发布时间】:2019-07-11 23:55:01
【问题描述】:

我只是像往常一样安装了扩展程序

sudo pecl7 install redis;

我收到了这个错误

sudo php-fpm -t

[11-Jul-2019 20:52:10] 注意:PHP 消息:PHP 警告:PHP 启动: 无法加载动态库 '/usr/lib64/php/7.1/modules/redis.so' - /usr/lib64/php/7.1/modules/redis.so:未定义符号: 第 0 行未知中的 php_json_decode_ex

我使用的是 Amazon Linux AMI 2018.03.0

【问题讨论】:

  • 根据您使用的操作系统,JSON 被认为是“非免费”组件 [长话短说:创建 JSON 规范的人愚蠢地措辞了许可证并且顽固地拒绝更改它] 所以您可能需要将 php-json 作为单独的包安装。
  • 但是php71-json包已经安装了
  • 已安装并启用
  • 如果我将 extension=json.so 放在 php.ini 中,我会收到这条消息 PHP 消息:PHP 警告:模块 'json' 已在第 0 行的未知中加载
  • 不确定为时已晚。将 extension=redis.so 放在 /etc/php.d/redis.so 应该可以解决问题

标签: php amazon-ami


【解决方案1】:

redis 扩展必须加载“之后”json 扩展

https://github.com/phpredis/phpredis/issues/1589#issuecomment-508412700

PHP redis 扩展可能在 json 扩展之前加载。

检查.ini文件并将extension=redis.so放在extension=json.so之后

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-24
    • 2015-12-22
    • 1970-01-01
    • 2016-09-24
    • 2016-05-25
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多