Установка 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/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()
.
На данный момент PECL расширение APC работает исправно, версия 3.1.9. Однако Xdebug до сих пор не работает, даже в последней 2.1.3 версии, будем ждать обновление.