Max OS X YosemiteにLAMP環境(Linux,Apache,MySQL,PHP)をソースコードからインストールするシリーズのPHP編です。
もくじ
前提となる環境
・OSはMac OS X Yosemite(10.10.3)
・Apache2.4がインストールされていること
(Apache2.4のインストールについての記事はこちら)
0.方針
Apache2.4をインストールした時と同様に、
/Users/ユーザ名/programs
の中にインストールしていきます。
1.各種ライブラリのインストール
まず、PHP5.6のビルドに必要な各種ライブラリをインストールします。
今回ビルドしたのは
・curl (https://curl.haxx.se/)
・GNU Libtool (http://www.gnu.org/software/libtool/)
・libpng (http://www.libpng.org/pub/png/libpng.html)
・libjpeg (http://www.ijg.org/)
です。
curl
※CMAKEが使える状態であるとします。
cmake -DCMAKE_INSTALL_PREFIX='/インストール先のパス' make install
libtool
./configure --prefix='/Users/ユーザ名/programs/libtool' make make test make install
libpng
./configure --prefix='/Users/ユーザ名/programs/libpng' make make test make install
libjpeg
./configure --prefix='/Users/ユーザ名/programs/libjpeg' make make test make install
3.PHP5.6のビルド&インストール
Apacheのときと同じように、パスをシェル変数に置き換えてビルド&インストールします。
#インストールするトップ階層
INST_DIR='/Users/ユーザ名/programs'
#PHPおよび関連するライブラリへのパス
PREF_PHP=${INST_DIR}/php-5.6
PREF_LIBTOOL=${INST_DIR}/libtool
PREF_LIBPNG=${INST_DIR}/libpng
PREF_LIBJPG=${INST_DIR}/jpeg-9a
PREF_LIBCURL=${INST_DIR}/curl
#以下はApacheインストール時にビルドしたものへのパス
PREF_HTTPD=${INST_DIR}/httpd-2.4
PREF_PCRE=${INST_DIR}/pcre
PREF_ZLIB=${INST_DIR}/zlib
PREF_LIBXML2=${INST_DIR}/libxml2
PREF_OPENSSL=${INST_DIR}/openssl-1.0
#phpのビルド設定
./configure \
--prefix=${PREF_PHP} \
--with-apxs2=${PREF_HTTPD}/bin/apxs \
--with-pcre-dir=${PREF_PCRE} \
--with-pcre-regex=${PREF_PCRE} \
--with-zlib-dir=${PREF_ZLIB} \
--with-libxml-dir=${PREF_LIBXML2} \
--with-config-file-path=${PREF_PHP} \--enable-calendar \
--with-jpeg-dir=${PREF_LIBJPG} \
--with-png-dir=${PREF_LIBPNG} \
--with-openssl-dir=${PREF_OPENSSL} \
--with-curl=${PREF_LIBCURL} \
--enable-shared=${PREF_LIBTOOL}/bin/libtool \
--enable-exif \
--enable-mbstring \
--with-mysql \
--with-pdo-mysql \
--with-pear \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
make
make test
make install
以上でPHPのビルドは完了です。
余談ですが、phpのmake testは結構時間がかかります。自分の環境では10分はかかっていたと思います。
2.設定ファイルの配置
php.iniファイルの配置
phpの各種設定を行う”php.ini”ファイルをphpのトップ階層に配置します。
php.iniファイルの雛形はphpのソースディレクトリのトップ階層に
・php.ini-development
・php.ini-production
があるので、いずれかをコピーして”php.ini”にリネームします。
httpd.confの設定
Apacheの設定ファイル”httpd.conf”に
PHPIniDir php.iniファイルへのパス
を記述します。
また、同httpd.confファイルに
AddType application/x-httpd-php .php .html
を記述することで、.htmlファイルにphpを記述してもphpプログラムとして実行することができるようになります。
phpの動作確認
Apacheのhtdocs内に以下のようなPHP関数を記述したファイル(test.phpとします)を配置します。
<?php phpinfo() ?
ブラウザからtest.phpにアクセスすると、PHPが有効になっている場合にはインストールされたPHPの設定一覧が表示されます。
次回はMySQLのソースからのビルド&インストールおよびPHPとの連携について扱います。