2016-01-10 2 views
1

пытается установить расширение Imagick для PHP (здесь есть окр):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 установить команду Imagick привести меня к Не могу найти PHP заголовков в/USR/включать/PHP пакета PHP-разви является необходимых для использования этой команды. ОШИБКА: '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 не всегда возможно. Чтобы построить модуль imagick pecl для CentOS 6, используйте версию 3.1.2.

$ pecl install imagick-3.1.2 
Смежные вопросы