hetemlの新環境
何かとトラブル続きだった heteml のサーバ環境が一段落した模様。一時はまったく使い物にならないサーバだったけど、今回の環境一新でどうなることやら。
特にphp関連の環境がずいぶん変わってます。サポート情報 にもある程度は出ていますが、これだけではどうにも足りないのでちょっと調べてみました。
相変わらずApacheモジュールではなく、CGI動作のみですが、パーミッションの設定は不要になりました。これだけでも相当ましになりましたが、個人的に一番大きいのはphp5のサポート。
以前の環境ではphp5を使おうとすると
- phpファイルの一行目に「#!/usr/local/bin/php5」と書く
- ファイルの拡張子を.php5にする
のいずれかでしか対応できなかったため相当面倒、というよりheteml専用に書き下ろしたアプリケーション以外は使えないような状態でしたが、それが改善されました。
.htaccessに「AddHandler php5-script .php」と書いておけば、全てのphpファイルがphp5で動作します。これでやっとphp5で普通に開発ができるようになったのかな、という感じです。現時点でのバージョンはphp5.1.2。5.1系が入っているレンタルサーバは貴重です。というか、他に聞いたことありません。SimpleXMLやPDOが使えるのは非常にありがたいです。
<?php $dsn = 'sqlite2:DBファイルをフルパスで指定'; $dbh = new PDO($dsn,'',''); $sqlList = array("CREATE TABLE foo (bar varchar(10))", "INSERT INTO foo VALUES ('fnord')", "SELECT * FROM foo"); foreach ($sqlList as $sql) { $stmt = $dbh->prepare($sql); $stmt->execute(); } var_dump($stmt->fetchAll()); ?>
てな感じで書いてやると、PDO経由でSQLiteが叩けます。DBファイルのパーミッションは604で動くので、わざわざ777にしたりする必要はありません。理由はよく分かりませんが、DSNを「sqlite:〜」ではなく、「sqlite2:〜」にしないと動かないようです。MySQLのPDOドライバが入っていないので、PDOが使えるのはSQLiteだけです。これは是非とも改善して欲しいところ。
あとは、.htaccessでphpの設定を変更することができませんが、これは共用サーバの性格からして仕方ないか。今まではphp.iniを置けば設定変更できたそうです。知らんかった。それはそれでどうかと思うけど、やっぱりできなくなったみたいです。
サーバOSは フォーラム でFedora使用と公表されています。時期的に考えると、FedoraCore5になっているのではないかと思われます。
今回のリプレースでかなり環境改善されて面白いサーバになったので、後は安定的に動作してくれさえすれば本格的に使いたいですね。とにかくPDOでMySQL叩かせてくれ。