« 【宣伝】慶應義塾創立150年記念 未来をひらく福澤諭吉展 | メイン | さくらのレンタルサーバにSubversionを入れる »

2009年3月 9日

さくらのレンタルサーバーにPHP5を入れる(PDO対応・今さら編)

さくらインターネットの共有サーバーでは、長らくPHP5のサポートが行われていなかったため、一部のユーザが、独自にPHP5をホームディレクトリ内にインストールを試み、ノウハウが共有されてきた。

・さくらのレンタルサーバでPHP5
などを参照。

昨年ようやく、さくらインターネットの共有サーバーでもPHP5のサポートが開始されたが、何か物足りない...。

・好き勝手PHP.iniをいじりたい
・好き勝手モジュールを入れてコンパイルしたい
・任意のバージョンを入れたい

ということで敢えて今更やってみる。準備としていくつかディレクトリを作成。

$mkdir ~/local
$mkdir ~/src
$mkdir ~/etc

PHPをダウンロードして展開する。

$cd ~/src
$wget http://...
$tar zxvf php-5.2.9.tar.gz

展開したディレクトリに、以下のようなシェルスクリプトを用意する。

conf.sh


#!/bin/sh

./configure \
--prefix=$HOME/local \
--with-config-file-path=$HOME/etc \
--with-pear=$HOME/local/share/pear5 \
--enable-mbstring=all \
--enable-mbregex \
--enable-force-cgi-redirect \
--with-openssl=/usr \
--with-mysql \
--with-curl \
--enable-ftp \
--enable-pdo \
--with-pdo-mysql=/usr/local/bin/mysql

PDOやFTPなどをオプションでとりあえず指定。GDは必要なし。無駄にハマってしまったのがphp.iniのパス指定で、ここではファイル名ではなくディレクトリ名を指定する。

スクリプトに実行権を与えて、実行(=configure)する。その後makeしてインストール。

$cd php-5.2.9
$chmod u+x conf.sh
$./conf.sh
...
$make
...
$make test
...
$make install
...

続いてCGIモードでオリジナルのPHPを動かすための作業。

$mkdir ~/www/cgi-bin
$ln ~/local/bin/php-cgi ~/www/cgi-bin/php5.cgi

ドキュメントルート(~/www)に下記のような.htaccessを設置。

Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php

最後に~/etcにphp.iniの設置。どこかのphp.iniを使うなり、php.ini-recommendedを使うなりする。.htaccessのphp_valueでエラーログファイルの切り替えができないので、あらかじめphp.iniでログの保存先ディレクトリを指定しておくと良い。

error_log = /home/xxxxx/var/log/php.log 


最後に、ドキュメントルートに置いたphpファイルにphpinfo()を記述し、インストールしたPHPが動いているかチェックして完了。

ただし、CLIでPHPを動かす場合はインストール先のPHPを指定する。



トラックバックURL

このエントリーのトラックバックURL:
http://cms.tank.jp/mt/mt-tb.cgi/1014

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)