时间:2021-07-01 10:21:17 帮助过:18人阅读
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
发现还是有同样的问题。
这个问题已被关闭,原因:
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
发现还是有同样的问题。
在php.ini 中有配置的
; extension_dir = "./"
修改成你现在的路径就好了
linux安装新模块后,都不直接使用默认的extension_dir地址,而是注释该地址后,使用组件编译后给出的URL地址