2012-03-07 105 views
1

我已經安裝了php 5.4.0,並從Pecl重新安裝Imagick。這樣做時一切正常,但是Apache啓動時,會記錄以下錯誤和擴展不加載,因爲它應該是:安裝pecl/imagick給我模塊api編譯錯誤

PHP Warning: PHP Startup: imagick: Unable to initialize module\ 
Module compiled with module API=20090626 
PHP compiled with module API=20100525 
These options need to match in Unknown on line 0 

對於我的生活,我不能明白的地方「20090626」即將到來從。 phpize -v所示:

Configuring for: 
PHP Api Version:   20100412 
Zend Module Api No:  20100525 
Zend Extension Api No: 220100525 

而同樣的PECL安裝過程開始時被打印。我該如何糾正?

+0

似乎你可能會在某個地方連接一箇舊版本的PHP。您是否將PHP 5.4安裝在與以前版本不同的地方? 'php-config'說什麼? – Morgon 2012-03-07 03:12:33

+0

好的,php-config顯示它在某處發現5.3.8 - 我會假設它是一個默認的mac版本。刪除它的最好方法是什麼? – helion3 2012-03-07 06:26:15

+0

對於Mac?不幸的是我不確定。它只是Linux,所以請檢查'哪個php'來找出它的安裝位置。 OS X上有'yum'嗎? – Morgon 2012-03-07 06:32:31

回答

0

當我從源代碼編譯php時,我的問題和你完全一樣。並且安裝了以前的php5-pear,php5-cli。我不知道爲什麼,但我必須刪除每個仍然標記爲「php5」的文件。

要查找的文件(應該在OSX工作太):

find/-name php5 

然後就去做rm -r /paths/that/are/listed/php5

當多數民衆贊成結束後,剛剛進入新的PHP安裝您的bin文件夾,並重新安裝蒙戈與pecl的驅動程序。我不得不這樣做:依次sudo ./pecl uninstall mongo通過sudo ./pecl install mongo

當安裝完成後,如果您正在使用PHP-FPM不要忘記一定要使用sudo service php-fpm restart

那麼它應該工作,通過鍵入檢查(這一切仍然在PHP/bin文件夾):

sudo ./php -v 

如果你沒有收到任何錯誤,你要善於去:)

// cubsink