正在加载php5.4.6的扩展apc

时间:2012-09-24 17:56:05

标签: php apc

我担心我的开发计算机上乱糟糟的东西,我可以使用一些帮助。基本上,我在ubuntu上使用apt-get软件包安装了php5.3.2,并将apc作为动态扩展加载。

今天,我决定使用此PPA升级到php5.4.6:https://launchpad.net/~ondrej/+archive/php5。所以,我现在运行php5.4.6但apc将不再加载。

所以我做了

pecl uninstall apc 

然后

pecl install apc-3.1.13

确保我有一个与php5.4兼容的apc版本。

Everythin似乎进展顺利,但扩展仍然无法加载。它没有显示在phpinfo()上。我当然在php.ini中添加了extension = apc.so。

我想我找到了问题的根源,但我不知道如何解决它:

根据我的phpinfo():

PHP API                 20100412
PHP Extension           20100525
Zend Extension          220100525
Zend Extension Build    API220100525,NTS
PHP Extension Build     API20100525,NTS 

当我这样做时,pecl install apc,我得到了:

54 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

因此,apc.so将安装在/ usr / lib / php5 / 20090626而不是/ usr / lib / php5 / 20100525。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

只需将php二进制源中zend_modules.h中的API版本更改为phpinfo()中指示的PHP扩展API编号。

例如,如果phpinfo()中的php扩展API为20100525,则必须将zend_modules.h文件中的API编号更改为20100525,然后重新编译项目。

答案 1 :(得分:-2)

我找到了解决问题的方法。一个简单的

sudo apt-get install php-apc

会做到这一点。