第1章からの続きです。
IT関係に興味がない人は読み飛ばしてください。今回は特に技術系中心です。
今回は第1章でツッコミが入ったのでそのフォロー。
ツッコミの内容は「んで、結局何やったか書いてないじゃんよ」というもの。
たしかに読み物としての奮闘記であれば問題ないけど、序章で宣言してた「記録」になってないので補足です。
まずこのnezumiya.netが動いている環境の説明から。
ホスティング先はablenetというところ。
転送量の制限がなくてそれなりに安価で安定しているのでわりと気に入って使ってます。
ホントはひとつ改善要望があるんだけどそれはまたの機会に。
ここを結構昔から使っているので、古い環境がわりと残っているサーバ上で稼働している状態です。
ということで、環境はPHPのバージョン4と5が混在しているのは第1章で書いたとおり。
状態としては、モジュール版が4でCGI版が5という形。
モジュール版を動かすには拡張子が「.php」であればよく、CGI版のPHP5を動かすには拡張子を「.php5」にするという方法があるとのこと。
でも、WordPressみたいにダウンロードしてインストールするようなパッケージだと全部の拡張子を変えるのはめんどくさいし、コードの中のファイル指定も書き変えないといけない。
これは現実的ではないので、もうひとつの方法である「.htaccessの記述」で対応することに。
.htaccessファイルはそれを置いたディレクトリ以下すべてに影響を与える。
だからどこに置くか迷ったんだけど、php4じゃなきゃ動かないプログラムは今のところ持っていないので、環境が混在しないようにWebに公開しているルートフォルダに置くことにした。
んで、その中に記述するのが
AddHandler x-httpd-php .php
という1行。
これで、拡張子が「.php」でも、CGI版のphp5で動くようになる。
さて、もうひとつやったのがMySQLの環境設定。
これもバージョンの4と5が同居している環境だったので、全部を新しい方に統一することに。
この方法もサポートのサイトには「.htaccessの記述」として書かれているんだけど、実はここに落とし穴。
うちの環境だとphp4だとモジュール版で動くけど、php.iniが使えないという制約がある。
だから.htaccessにMySQLの設定を書くという方法だったんだけど、上記のphpの設定でCGI版のphpを使うと、設定は.htaccessではなくphp.iniでやるという形に変わるのでした。
ということで、必要なのはphp.iniファイルをWebのルートに用意して
mysql.default_socket “/tmp/mysql5.sock”
と書くこと。
ここに気付かなくて結構苦戦だった。
ということで、まとめると・・・
- phpはモジュール版の4ではなくCGI版の5を使うために.htaccessに記述を追加
- CGI版のphpだと設定はphp.iniで行うので、MySQLのバージョン5を使うためにphp.iniファイルを用意してそこに記述を追加
- それぞれ必要な場所にアップロード
という流れ。
ちなみに、ホスティング先のablenetのサポートでこの話題の関連情報が出ているのは、
です。
どなたかの参考になれば。
そして第3章に続きます。