У меня странная проблема с php 5.3.6 и ImageMagick (командная строка) с использованием MAMP (и Macports тоже ... Я пробовал оба) на OS X.
Когда я запускаю команду идентификации изCLI, он отлично работает.Но когда я запускаю ту же самую команду, используя exec()
, она возвращает код значения 5
, и в журналах ошибок apache у меня есть:
dyld: Библиотека не загружена: / opt / local/lib/libfreetype.6.dylib
Ссылка на: / opt / local / bin / identifier Причина: несовместимая версия библиотеки: для идентификации требуется версия 14.0.0 или более поздняя, но libfreetype.6.dylib предоставляет версию 13.0.0
Например, команда cli: /opt/local/bin/identify /Users/leonardteo/Documents/1.jpg
Это прекрасно работает при выполнении из командной строки.При выполнении из PHP:
exec("/opt/local/bin/identify /Users/leonardteo/Documents/1.jpg", $output, $return);
$return
- 5
$output
- ничто
Проверка журналов apache даетвыше проблема с libfreetype.
Я установил ImageMagick, используя Macports.Я также пробовал ручную сборку из источника и запуск идентификации из /usr/local/bin/identify
, и я получаю тот же результат.Я также попытался запустить PHP из Macports вместо MAMP, и я получил тот же результат.
Может кто-нибудь помочь пролить свет на это?