Установка PHP 5.4 на OS X Lion
Вчера я написал о выходе 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/localbrew install gitbrew updatebrew install wget
Переходим к связке MySQL+PHP. Первым делом установим MySQL. Возьмем последнюю версию из homebrew, это 5.5.20.
brew install mysql
Как только установка завершится нужно выполнить настройки, о которых будет написано в терминале.
unset TMPDIRmysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmpmysql.server start
Дальше устанавливаем дополнительные пакеты необходимые для установки PHP 5.4.
brew install gmpbrew install libjpegbrew install mcryptbrew install libmcryptbrew install gettextbrew install icu4cbrew 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/mirrormv mirror php-5.4.0.tar.bz2bunzip2 php-5.4.0.tar.bz2 && tar xvf php-5.4.0.tarcd 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-sysvshmmake sudo make install
Для удобства создаем символьные ссылки в /usr/local/bin.
ln -s /usr/local/php/bin/php /usr/local/bin/phpln -s /usr/local/php/bin/pear /usr/local/bin/pearln -s /usr/local/php/bin/pecl /usr/local/bin/peclln -s /usr/local/php/bin/phar.phar /usr/local/bin/pharln -s /usr/local/php/bin/php-config /usr/local/bin/php-configln -s /usr/local/php/bin/phpize /usr/local/bin/phpize
Остается обновить php.ini, кстати с версии PHP 5.4 многое в нем изменилось, поэтому предлагаю вам свою версию конфига для development окружения.
Перезапускаем Apache — sudo apachectl restart и смотрим на свеженький phpinfo().

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