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だけです。これは是非とも改善して欲しいところ。

あとは、.htaccessphpの設定を変更することができませんが、これは共用サーバの性格からして仕方ないか。今まではphp.iniを置けば設定変更できたそうです。知らんかった。それはそれでどうかと思うけど、やっぱりできなくなったみたいです。

サーバOSは フォーラムFedora使用と公表されています。時期的に考えると、FedoraCore5になっているのではないかと思われます。

今回のリプレースでかなり環境改善されて面白いサーバになったので、後は安定的に動作してくれさえすれば本格的に使いたいですね。とにかくPDOでMySQL叩かせてくれ。