安装成功后,我收到以下错误
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:undefined symbol:php_json_decode_ex in Unknown on line 0
PHP 5.4.16(cli)(建于2016年8月11日21:24:59) 版权所有(c)1997-2013 PHP小组
Zend Engine v2.4.0,版权所有(c)1998-2013 Zend Technologies
答案 0 :(得分:3)
经过大量实验后,我终于解决了这个问题。解决方案如下:
cd /etc/php.d/
创建一个名为solr.ini
的文件。
添加了这一行:
extension=solr.so
现在我必须从php.ini
文件中删除上述扩展程序并重新启动php-fpm
这一切,对我有用。
答案 1 :(得分:0)
仍然出现错误。意识到您需要在json.so之后加载solr.so,因此json符号在加载solr之前就已存在于内存中,否则solr无法加载。
在centos和Red Hat Enterprise Server上,只需在/etc/php.d中已编号的ini文件中为solr提供最高的编号。您可能只需要在json.ini之后加载它,但是我最后一次加载它,现在它可以工作了。我将其命名为60-solr.ini,它开始工作。