Cannot run a binary executable from PHP and MAMP?
I recently encountered this obscure error when trying to run an external program using PHP (which was bundled with MAMP Pro) on Mac OS X:
dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Expected in: /Applications/MAMP/Library/lib/libJPEG.dylib in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
Oddly, other commands execute fine from PHP using shell_exec()
. Even more strangely, the external program ran fine when executed from a PHP command-line script, just not from MAMP’s bundled version of Apache!
Thanks to this tidbit from the PrinceXML forums, the solution was easy:
MAMP changes the environment variable
$DYLD_LIBRARY_PATH
. Check the file:/Applications/MAMP/Library/bin/envvarsand try out if commenting out the two uncommented lines will work for you.
Written on June 22, 2012