После обновления PHP больше не поддерживает операции PNG

После обновления до Mac OS X 10.10 (Yosemite) и запуска Apache с поддержкой PHP все работает по-прежнему, за исключением любых операций с изображениями в файлах PNG. Я получаю Call to undefined function imagecreatefrompng(), а любая операция с файлами JPEG работает. Итак, GD присутствует, но не для PNG.

В phpinfo() есть одна строка, которая выглядит как проблема: '--with-png-dir = no'

phpinfo()

Раздел GD из phpinfo():

Enter image description here

Как заставить включенный PHP работать с файлами PNG?

Ответы

Ответ 1

Здесь другой вариант, от ребята от liip, здесь. Это пакет 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

Ответ 2

Мне пришлось исправить это, снова установив PHP 5.5 через Homebrew. Довольно безболезненно:

https://github.com/Homebrew/homebrew-php

Инструкции по установке можно найти здесь: https://github.com/Homebrew/homebrew-php#usage

Я использовал команду brew install php55

Не забудьте обновить свой httpd.config - инструкции будут показаны в конце установки homebrew.

Ответ 3

Как сказал @jtotheh, установка полной версии PHP с поддержкой PNG и FreeType, скомпилированной в это путь.

Если вы не хотите заниматься этим процессом, я подготовил полные пошаговые инструкции как ответ на аналогичный вопрос: fooobar.com/info/110725/...