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

Sun, September 8, 2013 - 3 min read

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


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

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

% brew options php54
  Build 32-bit only.
  Build against apxs in Homebrew prefix
  Enable building of the CGI executable (implies --without-apache)
  Compile with debugging symbols
  Enable building of the fpm SAPI executable (implies --without-apache)
  Build with gmp support
  Include OpenSSL support via Homebrew
  Include IMAP extension
  Include internationalization support
  Include (old-style) libmysql support
  Include MSSQL-DB support
  Include PostgreSQL support
  Build with thread safety
  Include Tidy support
  Build with unixodbc support
  Build without shared Apache 2.0 Handler module
  Build without bz2 support
  Remove MySQL/MariaDB support
  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:

✩✩✩✩ 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:


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