php_5.3.18

最終検証日

2014 年 12 月 26 日

コンパイル

注釈

ところどころにexitコードが含まれるため、シェルスクリプトとして実行することを推奨します

注釈

PHPはDBやWEBサーバと連携することが多いので必要に応じてかならずコンパイルオプションを指定してください

############################################################
# OSによってパターンが変わります
############################################################
# 管理者権限で実行
su - # case by CentOS
sudo su # case by ubuntu

############################################################
# 以降の手順は基本的に同じです。
############################################################

# ソースダウンロード先
comp_dir=/usr/local/src
# パッケージ名
pack_name=php
# バージョン
version=-5.3.18
# ソースのファイル形式
ext=.tar.bz2
# tar解凍時のオプション
ext_opt=j
# インストール先ディレクトリ
ins_dir=/opt/${pack_name}${version}
# ダウンロード元パッケージ
dl_uri=http://jp2.php.net/get/php-5.3.18.tar.bz2/from/jp1.php.net/mirror

cd ${comp_dir}
rm -rf ${pack_name}${version}
test -f ${pack_name}${version}${ext} \
|| wget ${dl_uri} -O ${pack_name}${version}${ext}
tar ${ext_opt}xf ${pack_name}${version}${ext}
cd ${pack_name}${version}
./configure \
--prefix=${ins_dir} \
--enable-mbstring \
&& make -j 2 || exit 1
make install || exit 1

Pathの設定

test -r ~/bin || mkdir -p ~/bin
for cmd in ${ins_dir}/*bin/*
do
  cmd_name=`basename $cmd`
  test -f ~/bin/$cmd_name && \rm -f ~/bin/$cmd_name
  ln -s $cmd ~/bin/$cmd_name
  echo "ln -s $cmd ~/bin/$cmd_name"
done

主なconfigureオプション

--prefix=[DIR]
インストール先ディレクトリの指定
--with-libxml-dir=[DIR]
libxml2のインストールディレクトリを指定 DOMやxmlパーサに必要 インストールしない場合かなりの機能を制限されます
--with-apxs2[=DIR]
Apache2.x系と連携するためのモジュールをコンパイルします デフォルトは/usr/local/apache ex.) –with-apxs2=/path/to/apxs
--with-mysql[=DIR]
MySQLと連携する場合は必須
--enable-fpm
nginxと連携させる場合に必要
--with-curl=[DIR]
cURLを使用する場合に指定が必要

Apache連携

configureのオプションに --with-apxs2[=DIR] を付けてコンパイルします。
既にhttpd.confにはphpのモジュールを読み込むように設定されていますので、拡張子とPHPの実行を結びつけます。
AddHandler application/x-httpd-php .php