Подтвердить что ты не робот

Установка Yosemite/El Capitan php-gd + mcrypt

Как установить/включить php-gd и mcrypt в Yosemite 10.10 - сборка PHP 5.5.14?

обратите внимание, что следующие шаги устанавливают новый PHP 5.5.x

Чтобы проверить, установлены ли gd и mcrypt, используйте $ php -m для отображения скомпилированных в модулях, продолжайте, если вам не хватает желаемых модулей, и см. принятый ответ.


GD

Итак, Apple установила GD (и вы используете их сборку PHP, что хорошо), но не включили поддержку PNG.

Вам определенно не хватает "полного" gd (с поддержкой png), если: Функция imagecreatefrompng() отсутствует.

"Call to undefined function imagecreatefrompng()"

enter image description here


Mcrypt

установить brew с помощью принятого ответа и пропустить часть с установкой gd (если вам это не нужна) и использовать следующие шаги:

  • выполнить поиск - $ brew search mcrypt
  • выберите версию PHP, которую вы хотите
  • install - $ brew install php55-mcrypt
  • подтвердить с помощью $ php -m | grep mcrypt

Хотите переключиться между версиями PHP?

Отметьте brew-php-switcher и следуйте инструкциям.

4b9b3361

Ответ 1

Вы правы, Yosemite встроенный PHP поставляется без поддержки PNG и FreeType.
Обновление 2015/10 для El Captian:. С OS X 10.11 поддержка ElGlanguage PNG вернулась, но FreeType все еще отсутствует.

Решение

Используйте диспетчер пакетов Homebrew для безболезненного создания и установки полного PHP и замены его в конфигурации Apache. Весь процесс занимает около десяти минут, если вы выполните следующие шаги.

Быстрая (но полная) прогулка по

(Примечание 1: здесь я использую Homebrew, систему управления пакетами для OS X. Если вы знакомы с MacPorts - другим диспетчером пакетов - вы можете получить те же результаты с этой системой. Также возможно использовать мое решение Homebrew параллельно с существующей установкой MacPorts на вашем компьютере.)
(Примечание 2: Если вы хотите прочитать все детали процесса установки, посмотрите базовую установку Homebrew и информация о домашней установке PHP, но вам это не понадобится, если вы выполните следующие действия.)

Теперь отпустите...

Сначала установите Xcode из App Store. Если у вас уже есть, проверьте App Store еще раз, чтобы убедиться, что у вас есть последняя версия!

Теперь вам нужно установить инструменты командной строки Xcode. Для этого откройте терминал и введите:

xcode-select --install

Следующая команда установит систему диспетчера пакетов Homebrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

script объясняет, что он будет делать, а затем делает паузу, прежде чем он это сделает.

Следующая команда для ввода - это своего рода тест состояния системы:

brew doctor

Это проверяет основы установки Homebrew.
Я получил предупреждение "У вас установлены MacPorts или Fink:/opt/local/bin/port...", которые я проигнорировал успешно.;)

Теперь настройте ключевое слово homebrew/dupes, у которого есть необходимые зависимости:

brew tap homebrew/dupes

Установите кран доморощенного/версии, который также имеет необходимые зависимости:

brew tap homebrew/versions

Затем выполните следующую команду:

brew tap homebrew/homebrew-php

Теперь вы готовы окончательно построить PHP. Для списка доступных параметров конфигурации вы можете выполнить одно из следующих действий:

brew options php55
brew options php56

Но я был в порядке, используя настройки по умолчанию.
Для этого введите ОДИН этих двух, в зависимости от ваших потребностей:

brew install php55
brew install php56

(Это займет некоторое время, пожалуйста, будьте терпеливы!)

при установке php56 (5.6.x) на Yosemite (10.10.5) есть ошибка, см. этот issue на github, вместо этого используйте brew install php56 --without-ldap.

Если вы получите сообщение об ошибке "Не можете найти OpenSSL", вы не установили инструменты командной строки Xcode, как я сказал вам в начале.;) Идите дальше, установите их и запустите последнюю команду.

PHP теперь построен, а script будет содержать некоторые сведения о том, как его использовать:

Откройте httpd.conf(должен быть расположен в /private/etc/apache 2/httpd.conf) и включите PHP, добавив ОДИН из этих двух строк, в зависимости от того, какая версия PHP вы только что установили:

LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

Не забывайте прокомментировать любую существующую строку LoadModule php5_module..., которая может присутствовать в собственной версии PHP Yosemite!

Перезапустить Apache

sudo apachectl restart

Ваш новый файл php.ini можно найти в:/usr/local/etc/php/5.5/php.ini

Наслаждайтесь!

Ответ 2

Ответ от @Jpsy хороший, но есть другой вариант, от ребята от 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

Ответ 3

У меня недостаточно комментариев, чтобы сделать комментарий, но если вы используете OS X Server для Yosemite (версия 4 из App Store), файл для редактирования:

/library/server/web/config/apache2/httpd_server_app.conf

мой вид теперь выглядит и подтвердил, что он работает после использования php 5.6 из homebrew.

#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

Ответ 4

Стандартный Apache, который отправляется с Yosemite, файл для обновления после

sudo brew install php55

находится в /etc/apache2/httpd.conf

Обратите внимание, что местоположение php.ini также изменено. Стандартный, входящий в Yosemite, находится в /etc/php.ini, тот, у которого есть версия для дома, находится в /usr/local/etc/php/5.5/php.ini