【问题标题】:PHP Warning: Unable to load dynamic library '/usr/lib64/php/modules/solr.so' undefined symbol: php_json_decode_ex in Unknown on line 0PHP警告:无法加载动态库'/usr/lib64/php/modules/solr.so'未定义符号:php_json_decode_ex in Unknown on line 0
【发布时间】:2017-04-24 11:51:43
【问题描述】:

安装成功后出现以下错误

 NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/solr.so' - /usr/lib64/php/modules/solr.so: undefined symbol: php_json_decode_ex in Unknown on line 0

谁能帮我解决这个问题?

我的服务器详情如下:- php : PHP 5.4.16 (cli)(构建时间:2016 年 8 月 11 日 21:24:59) 版权所有 (c) 1997-2013 PHP 集团 Zend Engine v2.4.0,版权所有 (c) 1998-2013 Zend Technologie

nginx: nginx版本:nginx/1.10.1

当我执行这个 php -v

我收到以下消息:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/modules/solr.so' - /usr/lib64/php/modules/solr.so:未定义符号:在线未知中的 php_json_decode_ex 0

PHP 5.4.16 (cli)(构建时间:2016 年 8 月 11 日 21:24:59) 版权所有 (c) 1997-2013 PHP Group

Zend Engine v2.4.0,版权所有 (c) 1998-2013 Zend Technologies

【问题讨论】:

标签: php linux nginx solr


【解决方案1】:

在做了很多实验后,我终于解决了这个问题。解决方法如下:

cd /etc/php.d/

并创建一个名为solr.ini的文件。

添加了这一行:

extension=solr.so

现在我必须从php.ini 文件中删除上述扩展名并重新启动php-fpm

就是这样,对我有用。

【讨论】:

    【解决方案2】:

    仍然有错误。意识到需要在 json.so 之后加载 solr.so,所以 json 符号在加载 solr 之前就在内存中,否则 solr 加载失败。

    在 centos 和 Red Hat Enterprise Server 上,只需在 /etc/php.d 中的编号 ini 文件中给 solr 最高编号。您可能只需要在 json.ini 之后加载它,但我最后加载它,现在它可以工作了。我将它命名为 60-solr.ini,它开始工作了。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 2015-10-13
      • 1970-01-01
      • 2014-07-28
      • 2014-03-06
      • 2017-02-27
      • 2017-01-30
      • 1970-01-01
      • 2020-04-07
      相关资源
      最近更新 更多