php7.4.x 扩展无法加载的问题解决方法

服务器技术 / 433人浏览 / 0人评论

php7.4安装扩展

最近升级系统,因为要composer检测Php环境平台所以服务器上php版本也要跟着升级,在升级的过程中,配置了php7.4.x 然后往上编译扩展的过程中发现,加载扩展失败,报这个错误: P Warning: PHP Startup: Unable to load dynamic library 'redis' (tried: /usr/l ib64/php/modules/redis (/usr/lib64/php/modules/redis: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex)) in Unknown on line 0

从php7.4开始加载扩展的目录发生了改变,php7.4以前的版本是编译安装成功后,后出现一个ext扩展目录,默认的编译后的扩展在那个目录内,在Php.ini中把扩展打开,即可自动加载,从7.4开始安装完扩展文件之后要把扩展文件 XXXX.SO 复制到 “/usr/lib64/php/modules/”这个目录中,然后再Php.ini 中的扩展目录也要由原来的/ext/phpdebug/2009xxxx/....下面,改回 “/usr/lib64/php/modules/”,即可解决扩展无法加载的问题

具体解决办法:

一.配置php.ini

在php.ini中一定要配置extension_dir和extension,如:

    extension_dir = "/usr/lib64/php/modules/"

    extension=redis.so

二.配置redis.ini

在/etc/php.d/目录中创建redis.ini文件

vim redis.ini

在redis.ini 里面添加

    extension=redis.so

三.重启php-fpm

systemctl restart php-fpm

评论列表

还没有人发表评论

发表评论 取消回复