2016-06-20 54 views
5

Prova di aprire file PDF da goccia script php in colpa con l'errore:Imagick fare file pdf non si aprono con "Impossibile leggere il file" eccezione

Uncaught ImagickException: Failed to read the file in ... 

Io corro OS X, Brew, PHP 7.0, php70-imagick --HEAD, ImageMagick --with-Ghostscript, GhostScript

prova in linea di comando funziona bene:

convert 1.pdf 1.jpg 

permessi del file è ok. Prova entrambi, un URL e un file locale con la funzione realpath, quindi anche filepath è ok. Lo script funziona bene se aperto jpeg.

phpinfo() -> ImageMagick supported formats: EPDF, PDF, PDFA, etc. 

AGGIORNAMENTO: risolto. Soluzione di seguito.

+0

E dov'è questo script PHP? Ci mostreresti? –

+0

Spero, ti sia d'aiuto: $ im = new Imagick (realpath ('1.pdf')); – oleg

+0

mostra l'output di 'var_dump (realpath ('1.pdf'));' per favore. – Danack

risposta

9

Questo problema riguardava il percorso di ghostscript. Si trova in "/ usr/local/bin", ma questo percorso non è disponibile per Apache. (Phpinfo -> Apache Ambiente -> PATH)

Solution è quello di link simbolico file in un altro percorso:

sudo ln -s /usr/local/bin/gs /usr/bin/gs 

OS X El Capitan Nota!/usr/bin/in OS X 10.11+ è protetto. È necessario seguire questa procedura:

1. Reboot to Recovery Mode. Reboot and hold "Cmd + R" after start sound. 
2. In Recovery Mode go to Utilities -> Terminal. 
3. Run: csrutil disable 
4. Reboot in Normal Mode. 
5. Do the "sudo ln -s /usr/local/bin/gs /usr/bin/gs" in terminal. 
6. Do the 1 and 2 step. In terminal enable back csrutil by run: csrutil enable 
Problemi correlati