首先抱歉我的英文不好,尽可能清楚地解释我的问题。
我的一台服务器有一个奇怪的问题,
我运行一个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 make make install
一如既往
但模块安装在不正确的path
我在phpize上编辑所有path:
# 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,但不是为PHP5.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.h zend_module.h PHP 5.3 zend_extension.h但不总是帮助API号码是API = 20090626
当您为每个版本的PHP构build扩展时,请按照如下所示进行操作
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 使 进行安装
请编辑正确的path。 以上只是例子。