2012-09-24 76 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,然後重新編譯您的項目。