centos7.2中安装php扩展,之后报错,undefined symbol: zend_signal_globals

今生V5
  • 41

使用的是 阿里云的ECS
安装的是Centos7.2 nginx (1.12.1)
php(7.0.21),php-fpm(7.1.1)
我安装的扩展 redis和zend扩展opcache
在重启php-fpm时正常,访问phpinfo显示也是正常(显示已经安装上述扩展)
但是:执行 php -v 命令却提示有错和警告:如下

Failed loading /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so: undefined symbol: zend_signal_globals
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: php_var_unserialize_init in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/opcache.so' - /usr/lib64/php/modules/opcache.so: undefined symbol: zend_signal_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: php_var_unserialize_init in Unknown on line 0

如图:
图片描述

请各位大牛指教!

回复
阅读 7.4k
1 个回答

没人碰到过,那我就自问自答
这个 问题还是因为 运行 web 的 php 和 cli 的 php 不是同一个.
但是我查看

cat  /etc/profile

显示的是

PATH=$PATH:/usr/local/php/bin
export PATH

这和运行web的php是同一个啊!有点郁闷!
就在
/usr/bin/php
做了软链,执行下面的命令:

ln -s /usr/local/php/bin/php /usr/bin/php

然后就没问题了!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏