複数のバージョンの共存(Apache, PHP,MySQL)

cl.pocari.org - リバースプロキシを使って複数のバージョンの PHP,MySQL,Apache を共存させる方法 を見て
今までも1台のサーバにポート番号を変えた複数バージョンを共存させた事はあったけど
ネームベースのバーチャルホスト+Proxyでもできるんだなぁと思ったのでメモメモ。
ホスト名で区別させた方が若干わかりやすくなるのかな。

で、ついでに今共存できるといいなぁと思ったバージョンを列挙してみた。

Apache

  • 1.3系
  • 2.0系
  • 2.2系

PHP

  • 4.3系
  • 4.4系
  • 5.0系
  • 5.1系

MySQL

  • 3.23系
  • 4.0系
  • 5.0系

PostgreSQL

  • 7.4系
  • 8.1系

多すぎ、、、(-_-;)
一番共存させたいPHPの共存が一番厄介なのが(ノ∀`)タハー

parse_url関数にPATH_INFO付きのURLを渡した場合

PHP: parse_url - ManualにあるURLの要素分解関数parse_url。

指定されたURLが有効かどうかを調べるためのものではなく

とは書かれているものの大雑把に判断したい場合には分解してくれた情報を元に判断するのもいいのかなと思い
PHP Interactive - an interactive shell for PHPで色々な値を入れてみて動きを確認してみる事に。

print_r(parse_url('http://www.xxxxx.xxx/test/index.php/path?q=aaa'));

上のようにPATH_INFOつきの物を渡すと

Array
(
    [scheme] => http
    [host] => www.xxxxx.xxx
    [path] => /test/index.php/path
    [query] => q=aaa
)

PATH_INFOまで含めてpathに入る模様。*1


/test/index.phpまでならうれしかったなぁと思いながらも忘れそうなのでメモメモ。

*1:確認したPHPのバージョンは4.4.2

ADOdbでMySQL

しばらくPostgreSQLだったけれどMySQLに接続する必要も出てきたのでメモ

MySQLのドライバは3種類あり

mysql
PHP4用、PHP5のmysql拡張用
mysqli
PHP5以降のmysqli拡張用
mysqlt
PHP4用、PHP5のmysql拡張用(トランザクションサポートあり)

ただのmysqlではDBのタイプがInnoDBでもトランザクションが使用できない点が注意点。

知らないうちに

しばらく使っていないうちにスタイルの指定か何か変わったのか
管理画面の各メニューの上にカーソルのせたらメニューの幅が広がったり*1
テキストボックスに入力した内容がフォーカス外れると遠慮して上半分しか見えなくなったり
色々変わっている感じ。

ちなみにブラウザはInternet Explorer

*1:最初だけ