2013-08-29 25 views
7

Ben php.ini bu satır ekleyerek, Temelde KnowledgeBase articleImageMagick yükleme MediaTemple GridServer

uyarınca ImageMagick uzantısı aktive ettik:

open_basedir = /nfs:/tmp:/usr/local:/etc/apache2/gs-bin:/usr/bin/convert 

Ancak bu işe görünmüyor.
Bu komut sadece iyi sürüm numarasını verir:

$IM_version=shell_exec("/usr/bin/convert -version"); 
echo $IM_version; 

Ancak, bir hata alıyorum Imagick sınıfını kullanmaya çalıştığınızda.

try 
{ 
     /*** a new imagick object ***/ 
     $im = new Imagick(); 

     /*** Create a red rectangle ***/ 
     $im->newImage(200, 100, "red", "png"); 

     /*** write image to disk ***/ 
     $im->writeImage('/tmp/rectangle.png'); 

     echo 'Image Created'; 
} 
catch(Exception $e) 
{ 
     echo $e->getMessage(); 
} 


Hata: Yanlış

Fatal error: Class 'Imagick' not found in /xxxxxxxxxxxxxxx/html/mt.php on line 8 

Herhangi fikir ne yapıyorum ya sonraki adım ne giderme olduğu için?

Ben MediaTemple destek temas ettik ve onlar sadece söyledi "Üzgünüm ama senaryo sürüm numarasını verir çünkü Yüklendikten kanıtlıyor" Ben bu çalışma var ama biraz zor oldu,

+2

O PHP betikleri, ancak Imagick PEAR sınıfını (http://www.php.net/manual/en/book.imagick.php) yüklemez. Imagick() 'i (gs) kullanmanın basit bir yolunu görmüyorum. Kaynaktan ve yolunuzda yerel olarak depolanan uzantıdan derlenmesi gerekebilir. Bunu bir atış yapacağım. –

cevap

18

Ok. İşte gider ...

İlk olarak, ImageMagick kaynağından yüklemek isteyeceksiniz. Zaten 'MagickWand-config' erişiminiz varsa, bu adım isteğe bağlı olabilir, ancak yolumda değildi. (Gs):

'daki alternatif bir dizine yüklemek için izlediğim adımlar şunlardır: Not: Bu gönderiden itibaren en son sürüm 6.8.9.3 idi.

$ wget http://www.imagemagick.org/download/ImageMagick-6.8.9-3.tar.gz 
$ tar xvfz ImageMagick-6.8.9-3.tar.gz 
$ cd ImageMagick-6.8.9-3 
$ mkdir /home/#####/etc/imagemagick 
$ ./configure --prefix=/home/#####/etc/imagemagick 
$ make 
$ make install 

IMagic PHP sınıfı biz bir değişiklikle Medya Tapınağı'ndan sağlanan KB kullanarak kuracaktır böylece bir PECL uzantısıdır. İşte adımları:

$ export SITEID=`pwd | awk -F\/ '{ print $3 }'` 
$ export PHPPATH=`php-stable -i | grep "Configure Command" | perl -pe "s/.*'.\/configure'\s*?'--prefix\=(.*?)'.*/\1/"` 
$ mkdir /home/$SITEID/data/lib 
$ mkdir /home/$SITEID/data/lib/php/ 
$ wget http://pecl.php.net/get/imagick && tar zxvf imagick && cd imagick-* && $PHPPATH/bin/phpize 

Bu, komut dosyanızın yönergelerden saptığı yerdir. 'MagickWand-config' kullanmak için ImageMagick kurulumumuzun yolunu belirtmemiz gerekiyor. Eğer, ImageMagick'in install '--with-Imagick'teki' bununla yolunu değiştirmek kaynağı için alternatif bir konumu kullandıysanız

checking ImageMagick MagickWand API configuration program... configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.

: Bu belirtilmemişse, aşağıdaki hata görürsünüz yolu.

$ ./configure --with-php-config=$PHPPATH/bin/php-config --with-imagick=/home/#####/etc/imagemagick 

Sürdürme Normal talimatlar:/home/#####/etc/php bulunan olmalıdır

$ make && cp modules/*.so /home/$SITEID/data/lib/php 

Güncelleme php.ini dosyasını.ini ve eklemek bu 2 satır:

extension_dir=/home/#####/data/lib/php/

extension = imagick.so

Tamamlandığında, burada koştum script:

<?php 

$IM_version=shell_exec("/usr/bin/convert -version"); 
echo $IM_version; 

if (!extension_loaded('imagick')) 
{ 
    echo "imagick not installed\n"; 
} 
else 
{ 
    echo "imagick installed\n"; 
} 


try 
{ 
     /*** a new imagick object ***/ 
     $im = new Imagick(); 

     /*** Create a red rectangle ***/ 
     $im->newImage(200, 100, "red", "png"); 

     /*** write image to disk ***/ 
     $im->writeImage('/tmp/rectangle.png'); 

     echo 'Image Created'; 
} 
catch(Exception $e) 
{ 
     echo $e->getMessage(); 
} 

Çıktı: KB makalesi ImageMagick cli araçları aramak sağlar

Version: ImageMagick 6.6.0-4 2012-05-03 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC 
Features: OpenMP 

imagick installed 
Image Created 
+0

Mevcut talimatları ImageMagick-6.9.1-0.tar.gz ile takip ettim ve mükemmel çalışıyor. SİZLER EN İYİSİSİNİZ. –

+1

Bu talimatlar kusursuz bir şekilde çalıştı! Küçük bir notla: Eğer PHP versiyonunuz kararlı değil ama en sonuncu ise, php-stabil yazan satırı değiştirmeniz gerekiyor: $ export PHPPATH = php-latest -i | grep "Komutu Yapılandır" | perl -pe "s /.*'.\/ configure '\ s *?' - önek \ = (. *?) '. */\ 1 /" ' – user2089160

+0

Bu harika. Yukarıdaki tamam ile yaptım, ama yine de bazı sorunlar yaşıyor gibi görünüyor. IM sürümünü aldığımda, yüklediğim (7.x) yerine bir MT GS'nin varsayılan olarak (6.7.7-10) yüklediği geri gelir. Onun neden olabileceği hakkında bir fikrin var mı? Şimdi görüntü dönüşümlerini denediğimde, sadece asılıyorlar:/ – philzelnar

İlgili konular