После обновления до Mac OS X 10.10 (Yosemite) и запуска Apache с поддержкой PHP все работает как прежде, за исключением любых операций с изображениями над файлами PNG. Я получаю Call to undefined function imagecreatefrompng()
, в то время как любая операция с файлами JPEG работает. Так что GD присутствует, но не для PNG.
Есть одна строка в phpinfo()
это выглядит как проблема: ‘—with-png-dir = no’
Раздел GD от phpinfo()
:
Как заставить включенный PHP работать с файлами PNG?
Вот еще один вариант, от ребят из liip, Вот. Это PHP-пакет, который предварительно собран для Yosemite (старые версии тоже работают), но это просто одна линия кода:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
После этого все готово к работе как положено. Конфигурация, поставляемая с этой установкой, хорошо подходит для разработки Symfony 2, но она должна прекрасно работать с другими вариантами использования.
Наконец, если вам нужно использовать обновленный PHP CLI, но вы не хотите использовать версию PHP, которая поставляется с ОС, то вы также можете добавить в свой .bash_profile
или аналог этой строки кода:
export PATH=/usr/local/php5/bin:$PATH
Мне пришлось это исправить, установив PHP 5.5 снова через Homebrew. Довольно безболезненно:
https://github.com/Homebrew/homebrew-php
Инструкции по установке можно найти здесь: https://github.com/Homebrew/homebrew-php#usage
Я использовал команду brew install php55
Не забудьте обновить ваш httpd.config — инструкции будут показаны в конце установки homebrew.
Как сказал @jtotheh, установка полной версии PHP с скомпилированной поддержкой PNG и FreeType — это путь.
Если вы не хотите возиться с этим процессом, я подготовил подробные пошаговые инструкции в качестве ответа на аналогичный вопрос: https://stackoverflow.com/a/26505558/430742