2012-09-24 77 views
0

恐怕我把我的开发计算机搞得一团糟,我可以使用一些帮助。基本上,我在ubuntu上安装了php5.3.2,apt-get软件包中装有apc作为动态扩展。为php5.4.6加载扩展apc

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

所以我做

pecl uninstall apc 

然后

pecl install apc-3.1.13 

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

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安装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

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

sudo apt-get install php-apc 

将做的伎俩。

+1

这不能解决问题。我编译了PHP 5.4并且无法获取APC。你的答案安装php5-common和php5-fpm(PHP的另一个版本) – Capy

+0

我自己没有编译PHP 5.4,但使用上面提到的ppa – JuCachalot

0

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

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