php 5.3.18のソースからのインストール
概要
ソースからコンパイルを行ってインストールする方法
コンテンツ一覧
実行環境
実施手順
ソースの入手、コンパイル~インストール
############################################################
# 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}
# ダウンロード元パッケージ
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}
wget ${dl_uri} -O ${pack_name}${version}${ext}
tar ${ext_opt}xf ${pack_name}${version}${ext}
cd ${pack_name}${version}
./configure \
--prefix=${ins_dir} \
--with
-libxml
-dir=/opt
/libxml2 \
--with-apxs2=/opt/httpd/bin/apxs \
--enable-mbstring \
--with-curl=/opt/curl=/opt/curl \
&& make -j 2
/bin
/mv $
{ins_dir
} /tmp
/$
{pack_name
}_bk`
date +%Y
%m
%d
%H
%M
%S`
make install
設定ファイルのインストール
設定ファイルは展開したソースコードのなかに含まれています。
#設定ファイルの検索
cd ${comp_dir}/${pack_name}${version}
find . -type f -name 'php.ini*'
実行結果
./php.ini-development
./php.ini-production
特にエラー制御に関する項目に違いがありますが、基本的に開発思考の設定ファイルでよいと思います。
リリースまでにたいていiniファイルは煮詰められていきます。
cp ./php.ini-development ${ins_dir}/etc/php.ini
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
- cURLを使用する場合に指定が必要
補足
本手順のインストールではapache2に依存します。
先に
apache2のインストールを実施してください。
PHP単体で使用する場合は[--with-apxs2]オプションをはずします。
本手順のインストールではMySQLに依存します。
先に
MySQLのインストールを実施してください。
PHP単体で使用する場合は[--with-mysql]オプションをはずします。
本手順のインストールではcURLに依存します。
先に
curlのインストールを実施してください。
PHP単体で使用する場合は[--with-curl]オプションをはずします。
CentOS 5.x系ではconfigureオプションに[--with-openssl]が必要のようです。
トラブルシューティング
phpize: command not found
さまざまな要因がありそうですが、本手順にて発生する場合はPATHが通っていないためだと思われます。
PATHを通して試してください。
参考サイト
Today: -
Yesterday: -
Total: -
最終更新:2012年11月14日 12:02