2016-01-10 123 views
1

嘗試安裝imagick擴展庫(這裏是ENV):的CentOS 6.7 - 安裝imagick PHP

[[email protected] src]# cat /etc/*release* 
CentOS release 6.7 (Final) 
CentOS release 6.7 (Final) 
CentOS release 6.7 (Final) 
cpe:/o:centos:linux:6:GA 

[[email protected] src]# php -v 
PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00) 
Copyright (c) 1997-2010 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 

--------------- 

[[email protected] src]# pecl install imagick 
downloading imagick-3.3.0.tgz ... 
Starting to download imagick-3.3.0.tgz (179,978 bytes) 
.................done: 179,978 bytes 
17 source files, building 
running: phpize 
Configuring for: 
PHP Api Version:   20090626 
Zend Module Api No:  20090626 
Zend Extension Api No: 220090626 
Please provide the prefix of Imagemagick installation [autodetect] : 
building in /var/tmp/pear-build-armandPkqjM8/imagick-3.3.0 
running: /var/tmp/imagick/configure --with-imagick 

..... 

- 我到底得到這個錯誤...任何人都可以幫忙嗎?提前致謝!

/var/tmp/imagick/imagick.c:3299: error: ‘ZEND_MOD_END’ undeclared here (not in a function) 
make: *** [imagick.lo] Error 1 
ERROR: `make' failed 
+1

注意php 5.3.3。是生命的終結。考慮升級到更新版本 – Gordon

+1

顯然PHP的某些發行版搞砸了一些頭文件,這意味着缺少一個宏。 Imagick會工作.....但是,你最好轉換到仍然支持的PHP版本。 – Danack

+0

@Gordon @Danack,謝謝你的回答 我升級到php-5.4並運行pecl install imagick命令導致我到 在/ usr/include/php中找不到PHP頭文件php-devel軟件包是需要使用這個命令。 ERROR:'phpize」失敗 所以,我所做的就是安裝包是這樣的: 百勝安裝php54w-PECL-imagick.x86_64 這似乎是現在有, [根@本地SRC]# php -m | grep imagick imagick – dtmiRRor

回答

1

我面臨同樣的問題。可能的解決方案是按照以下步驟從源代碼安裝它:

cd /usr/local 
wget http://pecl.php.net/get/imagick-3.3.0.tgz 
tar zxvf ./imagick-3.3.0.tgz 
cd imagick-3.3.0 
phpize 
./configure 
make 
make test 

然後,您將得到相同的錯誤。爲了解決這個問題,編輯對變量的未申報的文件:

vim /usr/local/imagick-3.3.0/imagick.c 

到這樣的事情:

3298 #endif 
3299         // ZEND_MOD_END 
3300         {NULL, NULL, NULL} 
3301 }; 
3302 #endif 

並嘗試再次運行:

make test 
make install 

希望這有助於。

1

由於(修補)php-5.3.3是隨RHEL/CentOS 6升級而來的php並不總是可行的。爲CentOS 6構建imagick pecl模塊使用版本3.1.2。

$ pecl install imagick-3.1.2