php存放的文件夹,PHP编译安装新的扩展模块的时候存放的那个目录是在哪指定的?...

博客内容讲述了在PHP环境中遇到的扩展安装问题。作者在尝试安装新的PHP模块时,发现模块被安装到了一个特定版本的目录下,与系统中另一个PHP版本的目录不匹配,导致启动PHP-FPM时出现版本不一致的错误。通过phpinfo()检查确认了PHP的Extension API版本与新安装模块的版本不匹配。尝试移动模块到正确目录并未解决问题。
摘要由CSDN通过智能技术生成

(解决)在phpize里获取的(代码应该是下面这段)

PHP_API_VERSION=`grep '#define PHP_API_VERSION' $includedir/main/php.h|$SED 's/#define PHP_API_VERSION//'`

Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20090626/

是php-config里指定的么?

我现在遇到了一个问题,就是我新安装的模块都在这个目录下

/usr/lib/php/extensions/no-debug-non-zts-20090626/

(为什么会生成到这个目录,这个20090626是该模块里面提供的版本号,还是我php-config指定的版本号呢?)

但是我的系统里自带了一个(可能是默认自带的版本生成的)

/usr/lib/php/extensions/no-debug-non-zts-20100525/

现在的问题就是当我导入我新安装的模块的时候就出现版本不一的问题了:

以安装APC为例

我简单修改下:

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626/"

extension = apc.so

重启php-fpm的时候有如下错误提示:

NOTICE: PHP message: PHP Warning: PHP Startup: apc: Unable to initialize module

Module compiled with module API=20090626

PHP compiled with module API=20100525

These options need to match

原因因为安装的模块编译的版本和php编译的版本不一致导致的

我通过phpinfo()查看到PHP Extension 20100525

我也尝试着把新安装的模块移动到no-debug-non-zts-20100525,然后不修改默认的extension_dir发现还是有同样的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值