После обновления до 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?
Вот еще один вариант, от ребята от липа, здесь . Это пакет PHP, готовый для Yosemite (более старые версии тоже работают), но это всего лишь одна строка кода:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
После этого все готово к работе, как ожидалось. Конфигурация, связанная с этой установкой, хорошо подходит для разработки Symfony 2, но она должна отлично работать с другими вариантами использования.
Наконец, если вам также нужно использовать обновленный CLI-интерфейс PHP, но вы не хотите использовать версию 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