[Mac] PHP5.4 を Homebrew でインストール

Sun, September 8, 2013 - 3 min read

Mac に PHP5.4 を Homebrew でインストールしたのでメモ。

デフォルトでは、PHPのFormulaは無いので、homebrew-phpを使ってインストールします。

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

PHP5.4 のインストールオプションを確認します。

% brew options php54
--32-bit
  Build 32-bit only.
--homebrew-apxs
  Build against apxs in Homebrew prefix
--with-cgi
  Enable building of the CGI executable (implies --without-apache)
--with-debug
  Compile with debugging symbols
--with-fpm
  Enable building of the fpm SAPI executable (implies --without-apache)
--with-gmp
  Build with gmp support
--with-homebrew-openssl
  Include OpenSSL support via Homebrew
--with-imap
  Include IMAP extension
--with-intl
  Include internationalization support
--with-libmysql
  Include (old-style) libmysql support
--with-mssql
  Include MSSQL-DB support
--with-pgsql
  Include PostgreSQL support
--with-thread-safety
  Build with thread safety
--with-tidy
  Include Tidy support
--with-unixodbc
  Build with unixodbc support
--without-apache
  Build without shared Apache 2.0 Handler module
--without-bz2
  Build without bz2 support
--without-mysql
  Remove MySQL/MariaDB support
--without-pear
  Build without PEAR
% brew install php54 \\
> --with-fpm \\
> --with-homebrew-openssl \\
> --with-intl \\
> --with-pgsql

...

==> make install
==> /usr/local/Cellar/php54/5.4.16/bin/pear config-set php_ini /usr/local/etc/php/5.4/php.ini
==> Caveats
The php.ini file can be found in:
    /usr/local/etc/php/5.4/php.ini

✩✩✩✩ PEAR ✩✩✩✩

If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
    chmod -R ug+w /usr/local/Cellar/php54/5.4.16/lib/php
    pear config-set php_ini /usr/local/etc/php/5.4/php.ini

✩✩✩✩ Extensions ✩✩✩✩

If you are having issues with custom extension compiling, ensure that this php is
in your PATH:
    PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"

PHP54 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.

✩✩✩✩✩ INTL Support ✩✩✩✩✩

icu4c is broken as of mxcl/homebrew#03ed757c, so you will need to install intl as
a separate extension:

    brew install php54-intl

✩✩✩✩ FPM ✩✩✩✩

To launch php-fpm on startup:
    * If this is your first install:
        mkdir -p ~/Library/LaunchAgents
        cp /usr/local/Cellar/php54/5.4.16/homebrew-php.josegonzalez.php54.plist ~/Library/LaunchAgents/
        launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist

    * If this is an upgrade and you already have the homebrew-php.josegonzalez.php54.plist loaded:
        launchctl unload -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist
        cp /usr/local/Cellar/php54/5.4.16/homebrew-php.josegonzalez.php54.plist ~/Library/LaunchAgents/
        launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist

The control script is located at /usr/local/Cellar/php54/5.4.16/sbin/php54-fpm

Mountain Lion comes with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:

  PATH="/usr/local/sbin:$PATH"

You may also need to edit the plist to use the correct "UserName".

Please note that the plist was called 'org.php-fpm.plist' in old versions
of this formula.

To have launchd start php54 at login:
    ln -sfv /usr/local/opt/php54/*.plist ~/Library/LaunchAgents
Then to load php54 now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php54.plist
Warning: /usr/local/sbin is not in your PATH
You can amend this by altering your ~/.bashrc file
==> Summary
/usr/local/Cellar/php54/5.4.16: 490 files, 38M, built in 5.1 minutes

Pear の設定

% chmod -R ug+w /usr/local/Cellar/php54/5.4.16/lib/php
% pear config-set php_ini /usr/local/etc/php/5.4/php.ini
config-set succeeded

php54-intl のインストール

% brew install php54-intl