上一篇:如何在博客文章右边加上文章目录索引(2020-09-06 10:57:19)
文章大纲

php版本升级问题:PHP Warning:PHP Startup: redis: Unable to initialize module

2020-09-09 19:51:01

昨天在php-7.2.32环境下,编译安装swoole-4.5.3版本的扩展,尝试重新编译php和swoole好几次,都是报undefined symbol: sapi_globals的错误,整体错误信息如下:

Starting php-fpm [08-Sep-2020 22:12:16] NOTICE: 
PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library 'swoole.so' 
(tried: /opt/software/somodules/swoole.so (/opt/software/somodules/swoole.so: undefined symbol: sapi_globals), 
/opt/software/somodules/swoole.so.so 
(/opt/software/somodules/swoole.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0


没辙只好尝试升级php版本,升到7.4.8,再重新编译swoole,没想到还真成功了。


为了偷懒,把之前编译好的redis.so文件也直接拷贝到新扩展目录里,结果重启php-fpm就报如下错误:

PHP Warning:PHP Startup: redis: Unable to initialize module


本文为翟码农个人博客里php分类下的有关php升级问题的原创文章,转载请注明出处:http://www.zhai14.com/blog/php-startup-unable-to-initialize-module-of-redis.html


错误原因就是php版本已升级,旧版本redis.so已变得不可用。所以需要重新编译一下phpredis扩展。

编译很简单,就下面3行命令:

phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

注意phpize,php-config路径要是新版本php路径下的。


最后用php -m | grep xxx命令查看,redis和swoole扩展总算都装成功了。



上一篇:如何在博客文章右边加上文章目录索引(2020-09-06 10:57:19)
我要评论
评论列表