Установка PHP 5.4 на OS X Lion

Установка PHP 5.4.0 на OS X Lion (10.7.3)Вчера я написал о выходе PHP 5.4, а сегодня хочу рассказать как его поставить на OS X Lion.

Для дополнительных пакетов будем использовать homebrew. Для кого это что-то новенькое, вот их сайт, где подробно описано как его можно использоват и зачем он вообще нужен. Единственное что напомню, для того чтобы установить homebrew у вас должен быть установлен XCode. Его можно бесплатно установить через Mac App Store. Теперь, когда у нас все готово, можно приступить к установке.

Запускаем в терминале.

/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

После этого небольшие настройки и установка необходимых пакетов для работы.

sudo chown -R $USER:staff /usr/local

brew install git
brew update
brew install wget

Переходим к связке MySQL+PHP. Первым делом установим MySQL. Возьмем последнюю версию из homebrew, это 5.5.20.

brew install mysql

Как только установка завершится нужно выполнить настройки, о которых будет написано в терминале.

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
mysql.server start

Дальше устанавливаем дополнительные пакеты необходимые для установки PHP 5.4.

brew install gmp
brew install libjpeg
brew install mcrypt
brew install libmcrypt
brew install gettext
brew install icu4c
brew install libxml2 

Как только все пакеты установлены, можно качать последнюю версию PHP, на данный момент это 5.4.0. Пока свежая версия качается будет полезным познакомиться с разделом Migration Guide на официальном сайте, в нем подробно описаны все изменения с версии 5.3.

wget http://ru2.php.net/get/php-5.4.0.tar.bz2/from/ru2.php.net/mirror
mv mirror php-5.4.0.tar.bz2
bunzip2 php-5.4.0.tar.bz2 && tar xvf php-5.4.0.tar
cd php-5.4.0

Приступаем к конфигурации PHP и последующей установки.

env EXTRA_LIBS="-lstdc++" ./configure \
 --prefix=/usr/local/php \
 --with-apxs2=/usr/sbin/apxs \
 --with-layout=GNU \
 --enable-calendar \
 --enable-ftp \
 --enable-bcmath \
 --enable-mbstring \
 --with-icu-dir=/usr/local/Cellar/icu4c/4.8.1.1 \
 --enable-intl \
 --enable-sockets \
 --enable-soap \
 --with-gettext=/usr/local/Cellar/gettext/0.18.1.1 \
 --with-bz2 \
 --with-zlib \
 --enable-zip \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir=/usr/X11 \
 --with-xpm-dir \
 --with-freetype-dir=/usr/X11 \
 --enable-exif \
 --with-gmp \
 --with-mcrypt \
 --with-mysql=mysqlnd \
 --with-mysqli=mysqlnd \
 --with-pdo-mysql=mysqlnd \
 --with-mysql-sock=/usr/local/var/mysql/mysqld.sock \
 --with-curl \
 --with-openssl \
 --with-libxml-dir=/usr/local/Cellar/libxml2/2.8.0 \
 --with-xsl=/usr \
 --with-xmlrpc \
 --enable-shmop \
 --enable-pcntl \
 --enable-sysvmsg \
 --enable-sysvsem \
 --enable-sysvshm

make sudo make install

Для удобства создаем символьные ссылки в /usr/local/bin.

ln -s /usr/local/php/bin/php /usr/local/bin/php
ln -s /usr/local/php/bin/pear /usr/local/bin/pear
ln -s /usr/local/php/bin/pecl /usr/local/bin/pecl
ln -s /usr/local/php/bin/phar.phar /usr/local/bin/phar
ln -s /usr/local/php/bin/php-config /usr/local/bin/php-config
ln -s /usr/local/php/bin/phpize /usr/local/bin/phpize 

Остается обновить php.ini, кстати с версии PHP 5.4 многое в нем изменилось, поэтому предлагаю вам свою версию конфига для development окружения.

Перезапускаем Apache — sudo apachectl restart и смотрим на свеженький phpinfo().

Свежая установка PHP 5.4 на OS X Lion

На данный момент PECL расширение APC работает исправно, версия 3.1.9. Однако Xdebug до сих пор не работает, даже в последней 2.1.3 версии, будем ждать обновление.

Что ещё почитать?

← Поддержка ECMAScript 5 и ECMAScriptВышел PHP 5.4, что нового? →