Ho installato Imagemagick utilizzando Homebrew su Lion, tutto è a posto tranne che non funziona affatto quando viene chiamato da php. Console:risolto: MAMP Php non può essere eseguito ('convert') dopo l'installazione di Homebrew ImageMagick
$ convert -version
Version: ImageMagick 6.7.1-1 2011-07-29 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP
$ which convert
/usr/local/bin/convert
PHP:
echo exec ('convert -version');
o exec ('convertire -version', $ output); var_dump ($ output);
Non produce nulla (o una matrice vuota).
exec ('/usr/local/bin/convert') // works, but
exec ('which convert') // doesn't
Ho bisogno di testarlo localmente per essere sicuro di poter rilevare le conversioni nell'ambiente di produzione. Ma non posso testarlo correttamente. Il PATH è impostato e funziona in Terminale, ma non da PHP.
risolto:
scopre, per php a lavorare convert
dovrebbe essere in /usr/bin/
quindi questo risolto:
ln -s /usr/local/bin/convert /usr/bin/convert
Aggiornamento
E 'stato a causa dello MAMP, qui è la correzione: http://firedevcom.tumblr.com/post/22791937644/fix-for-homebrew-imagemagick-and-mamp
Aperto/Applicazioni/MAMP/Library/bin/envvars
e commentare le seguenti righe:
DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH
Fatto.
È convertito nel percorso di PHP? Potrebbe essere necessario specificare un '/ absolute/path/to/convert' nella chiamata exec(). Ricorda che l'ambiente in una chiamata exec() di PHP può essere significativamente diverso da quello che ottieni al prompt della shell. –
Hmm la cosa è: tutto funziona sul server di produzione, non solo con Homebrew. Pensavo che PATH dovesse essere ereditato in sandbox exec, no? – firedev
L'ambiente shell di php è completamente diverso da un ambiente shell utente. non puoi confrontarli direttamente prova a fare 'exec ('echo $ PATH');' per vedere cosa sta andando la shell. PHP erediterà l'ambiente Apache. –