さくらでPDOを使ってMYSQLを使う

そもそも

さくらインターネットではPHP5.2が使えるようになったが、どういうわけかMYSQLのPDOドライバーが入ってないみたい。
別にPDO使わなくてもいいじゃんって思うけど、どんなDBでも同じように書けるのでいつも使っているです。
だから、さくらでもせっかくmyswlサーバまでかりれるんだからそれを使うためにPDOでやりたい。

やったこと

  1. PHP5.2 を自分でコンパイル
  2. .htaccess により、それを使うようにする
  3. --with-pdo-mysql でウマー

PHP5.2 インスコ

ソースを取ってくる
$ mkdir package
$ cd package
$ wget http://jp.php.net/get/php-5.2.5.tar.gz
$ tar -zxvf php-5.2.5.tar.gz
$ cd php-5.2.5
コンパイルする前の準備

さくらでデフォルトで入ってるPHPの configure

'./configure' '--prefix=/usr/local/php-5.2.5' '--enable-force-cgi-redirect' '--enable-mbstring' '--enable-mbregex' '--with-openssl=/usr' '--with-gd' '--with-zlib=/usr' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' '--with-ttf' '--with-freetype-dir=/usr/local' '--with-mysql=/usr/local' '--enable-soap' '--with-curl' '--with-xsl=/usr/local' '--with-gettext=/usr/local' '--enable-exif' 

まぁ。PDO入ってないですよね。
そこで。
以下のファイルを準備。(ファイルじゃなくて直接実行してもいいけどあとで修正したいかもしれないから忘れないように。)

#!/bin/sh
./configure \
--prefix=$HOME/php \
--program-suffix=5 \
--with-config-file-path=$HOME/www/cgi-bin \
--with-pear=$HOME/php/pear \
--enable-force-cgi-redirect \
--enable-mbstring=all \
--enable-mbregex \
--with-openssl=/usr \
--with-gd \
--with-zlib=/usr \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-ttf \
--with-freetype-dir=/usr/local \
--with-mysql=/usr/local \
--enable-soap \
--with-curl \
--with-xsl=/usr/local \
--with-gettext=/usr/local \
--enable-exif \
--with-pdo-mysql \
--enable-pdo \
--enable-sqlite-utf8 \
PHPコンパイル

さっきつくったファイルを実行してから、

$ make test
$ make
$ make instal

これで

$ ls $HOME/php/bin/
pear*           pecl*           php-config5*    phpize5*
peardev*        php-cgi5*       php5*

ができる。

最後に

1. .htaccess

$ cd $HOME/www
$ vim .htaccess
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php

2. cgi-bin

$ cd $HOME/www
$ mkdir cgi-bin
$ ln $HOME/php/bin/php-cgi5 $HOME/www/cgi-bin/php5.cgi

確認

これでphpinfo()とか実行してみたら、

PDO drivers  sqlite2, sqlite, mysql  

うまー