ugrás a tartalomhoz

Imagick error - Imagick->readimage

cszlak · 2016. Nov. 20. (V), 10.35
Sziasztok

Olyan problémám lenne, hogy hibát ad ki nekem amikkor az Imagick megpróbál egy pdf első oldaláből 1 képet csinálni.


Forráskód rész:


if( move_uploaded_file($_FILES['pdf']['tmp_name'],"../katalogus/".$kpdfnev.".pdf")	){ 	
	
  $pdfWithPath = "../katalogus/".$kpdfnev.".pdf"; 

  $thumbDirectory =  "../katalogus/"; //a mappa engedélye 777.
  
  $thumb = $kpdfnev.".jpg";   	
	
  $thumn_image = $thumbDirectory.$thumb;   
        
  $pdf = new Imagick(); 
 			  
//$pdf->readImage("{$pdfWithPath}[0]"); //erre ír hibát, így is próbáltam

  $pdf->readImage('../katalogus/'.$kpdfnev.'.pdf[0]'); //erre ír hibát, így is próbáltam

  $pdf->scaleImage(150, 220, true);  //scaleImage($width, $height); 
   
  $pdf->writeImage($thumn_image);
  
  $pdf->clear(); 

  $pdf->destroy();

A hiba leírása:

[20-Nov-2016 09:22:48 Europe/Budapest] PHP Fatal error: Uncaught exception 'ImagickException' with message 'PDFDelegateFailed `[ghostscript library] -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -dFirstPage=1 -dLastPage=1 "-sOutputFile=/tmp/magick-283547VIA_P82ON1gi%d" "-f/tmp/magick-283547bJuMwWiZsrL9" "-f/tmp/magick-2835478EZ3kBZ8lUf1"': -dname= must be followed by a valid token
@ error/pdf.c/InvokePDFDelegate/263' in /home/xxxxx/public_html/XXXXXX/button.php:232
Stack trace:
#0 /home/xxxxx/public_html/XXXXXX/button.php(232): Imagick->readimage('../katalogus/te...')
#1 {main}
thrown in /home/xxxxx/public_html/XXXXXX/button.php on line 232



Néztem utána neten is, de ott csak tárhely beállításokat írtak.
Beszéltem a tárhely szolgáltatóval is és telepítve van az imagick,
és php 5.6 van beállítva.
A gmagick-et egyszerre nem lehet az imagick-el beállítani.

Ha tud valaki megoldást megköszönném.
 
1

Delegate

janoszen · 2016. Nov. 20. (V), 17.44
Az Imagick delegate módszer egy olyan izé, amivel az Imagick bizonyos formátumok feldolgozására külső programot indít. A PDF kedvéért például PostScriptet. Vagyis az Imagick maga telepítve van, de a PostScript nincs.

Ha én a tárhely szolgáltatód lennék, nem engednék ilyen huncutságokat, mert veszélyes. Ezt bebizonyította az Imagick legutóbbi facepalm-kategóriás bizonsági hibája is.
2

Ez eddig működött

cszlak · 2016. Nov. 20. (V), 21.50
Ez eddig működött, éveken át, aztán nem rég lecserélték a c-panelt és azóta nem.

Ennek a PostScriptet-nek van valami rövidítése?
Mert a beállításokban megkeresem akkor, vagy szólok nekik, hogy mi a helyzet.
3

Amint látszik, GhostScript-et

Poetro · 2016. Nov. 20. (V), 22.51
Amint látszik, GhostScript-et próbál meg használni, ami az egyik Open Source PostScript generáló, feldolgozó, megjelenítő függvénytár.
4

Ezt írta a tárhely.

cszlak · 2016. Nov. 22. (K), 15.01
"A verzió:
ImageMagick 6.5.4-7 2016-05-05 Q16
A gmagick beta állapota miatt a cpanel nem támogatja."

Ezt a : GhostScript-et hogyan tudom bekapcsolni a tárhelyen?
5

https://gist.github.com/leome

Poetro · 2016. Nov. 22. (K), 16.12
https://gist.github.com/leomelzer/3949356

Bár ha csak PDF-et akarsz JPEG képpé alakítani, akkor sokkal gyorsabb, ha csak GhostScript-et használsz, és nem ImageMagick + GS kombinációt, mivel legalább kétszer annyi ideig fog futni.