PHPIZE 无法在 plesk whit 2 php 版本上运行,无法安装扩展

PHPIZE 无法在 plesk whit 2 php 版本上运行,无法安装扩展

首先对我的英语不好表示抱歉,我尝试尽可能清楚地解释我的问题。

我的一台服务器出现了一个奇怪的问题,

我运行一个 Plesk 12 服务器,

我有 2 个 php 版本。

/usr/bin 中的默认 php 版本 5.3

一切正常,我可以在这里安装模块,PHPIZE 版本是:

/usr/bin/phpize -v
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

那里没有问题。

我在 /opt/php55 中有第二个 PHP 版本

这里我无法编译任何模块:

/opt/php5.5/usr/bin/phpize -v
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

我跑

/opt/php5.5/usr/bin/phpize ./configure 制作 进行安装

一如既往

但是模块安装在错误的路径中。

我在 phpize 上编辑所有路径:

# Variable declaration
prefix='/opt/php5.5/usr'
datarootdir='/opt/php5.5/usr/share'
exec_prefix="`eval echo /opt/php5.5/usr`"
phpdir="`eval echo /opt/php5.5/usr/lib64/php`/build"
includedir="`eval echo /opt/php5.5/usr/include`/php"
builddir="`pwd`"

因此,我可以为 php5.3 编译模块,但不能为 php 5.5 编译模块,如果我尝试将模块复制到 php5.5 模块目录,我会收到错误:

PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20121212

我尝试手动编辑 php 5.3 的 php.h zend_module.h zend_extension.h,但没有帮助,api 编号总是 API=20090626

答案1

为每个 PHP 版本构建扩展时,请按照以下步骤操作:

对于 5.3

/usr/bin/phpize
./configure
make
make install

对于 5.5

/opt/php5.5/usr/bin/phpize
./configure --with-php-config=/opt/php5.5/usr/bin/php-config
制作
进行安装

请编辑为正确的路径。以上只是示例。

相关内容