ImageMagick: преобразуйте сбой png через PHP и работы через оболочку удара

Не думаю, что видел эту опцию, поэтому просто добавлю еще одну :)):

def chunks(iterable, chunk_size):
  i = 0;
  while i < len(iterable):
    yield iterable[i:i+chunk_size]
    i += chunk_size
5
задан Phil M. 20 June 2009 в 09:21
поделиться

4 ответа

Решено!

Получается, что переменная окружения DYLD_LIBRARY_PATH не установлен правильно.

Mac OS X Leopard поставляется с libiconv 7.0.0, но для преобразования требуется 8.0.0 (см. 2-е ОБНОВЛЕНИЕ выше).

bash-3.2$ otool -L /usr/lib/libiconv.2.dylib 
/usr/lib/libiconv.2.dylib:
    /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.1)

ImageMagick и все зависимости были установлены с MacPorts в папке / opt / local . Для этого необходимо вручную добавить путь / opt / local / lib к DYLD_LIBRARY_PATH .

Если я добавлю путь / opt / local / lib к DYLD_LIBRARY_PATH в Mac OS X Leopard apachectl файл envvars / usr / sbin / envvars он не работает. Зачем? Это потому, что я не использую apache из Mac OS X Leopard, я использую MAMP.

MAMP имеет собственный скрипт apachectl и собственный файл envvars.

Я добавил путь / opt / local / lib к DYLD_LIBRARY_PATH в MAMP apachectl envvars файле / Applications / MAMP / Library / bin / envvars

DYLD_LIBRARY_PATH="/opt/local/lib:/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"

Теперь мои эскизы PNG генерируются, и в журнале ошибок apache нет ошибок!

Я надеюсь, что это поможет кому-то, и в следующий раз я не забуду проверить все файлы журналов, прежде чем обращаться за помощью!

Фил

7
ответ дан 18 December 2019 в 14:50
поделиться

Убедитесь, что у пользователя, запускающего PHP-код, такие же права доступа к файлам и каталогам.

1
ответ дан 18 December 2019 в 14:50
поделиться

Это должно быть очевидно, но убедитесь, что вы проверили такие вещи, как безопасный режим PHP, open_basedir и отключено ли exec .

0
ответ дан 18 December 2019 в 14:50
поделиться
[

]Путь был /opt/local/bin, но даже добавление в DYLD_LIBRARY_PATH не сработало. В конце концов, когда я изменил только один PATH, он работал через PHP.[

] [

];Не работал.... [

] [

];DYLD_LIBRARY_PATH="/opt/local/bin:/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"[

] [

];export DYLD_LIBRARY_PATH[

] [

];This works![

] [

]export PATH="$PATH:/opt/local/bin"[

];Export DYLD_LIBRARY_PATH[

] [

];This works![

] [

]export PATH="$PATH:/opt/local/bin"[

]:/opt/local/bin].
5
ответ дан 18 December 2019 в 14:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: