cgi 版 php5

さくらのレンタルサーバ (スタンダード) に php5 をインストールした.

こちら などを参考に php.net からソースをダウンロードし,コンパイルすることにした.

その際 /tmp を作業ディレクトリとして使おうかと思ったのだが,大量にファイルがあったためやめておいた*1

コンパイル

さて.肝心のコンパイルだが….

最初は参考ページに書いてある configure スクリプトをそのまま実行したが php.ini をロードしなかったため,パラメータを調整することになった.

configure オプションを確認してみると,既にいくつかのオプションが無効となっていた.いろいろ考えた結果,以下のようなパラメータになった.

> ./configure --prefix=$HOME/php5 \
 --with-config-file-path=$HOME/php5/etc --with-config-file-scan-dir=$HOME/php5/etc/includes \
 --program-suffix=5 --enable-force-cgi-redirect \
 --enable-mbstring=ja --enable-zend-multibyte  --enable-mbregex --with-iconv-dir=/usr/local \
 --disable-ipv6 --with-mysql --with-openssl=/usr --with-soap=yes \
 --with-zlib=/usr --with-gd=/usr/local --with-jpeg-dir=/usr --with-freetype-dir=/usr \
 --with-ttf --with-png-dir=/usr \
 --with-curl --without-pear

むろん,これを参考にするならば自分で確認*2してからコンパイルすべき.
鵜呑みとかダメ。ゼッタイ

2行目は設定ファイルに関するオプションで /home/example/php5/etc に設定ファイルを置くように.かつ,その中の includes/ 内に追加の php.ini を置くようにしている*3

6,7行目は GD に関する設定であるが,僕は興味をもっていない.

pear はコンパイル時にインストールせず,別途インストールすることとした.この過程は省略.

php.ini が読み込まれない件だが,どうやら --with-config-file-path は指定したパスの中から php.ini を探すようだ*4

*1:今思えば,共用サーバですべきではない

*2:./configure --help

*3:あまりいい方法とは思えないが…

*4:Set the path in which to look for php.ini