もう何年も前に納品して、幸か不幸か保守も切れていた製品の修正作業をうけてしまった。
ところが、このシステムはPHP4でつくられていて、サーバーもいまだにPHP4だったのが運のつきで、予想外に苦戦してしまった。
php5ではdomxmlが使えない
あー、すっかりこのことを忘れてた。
いまさらなんだけど、こういうのって納得できないぞ。
http://jp.php.net/manual/ja/intro.domxml.phpより
注意: この拡張モジュールは » PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.
注意: この拡張は実験的なものではありません。しかしながら、PHP 5 版は決してリリースされないでしょう。PHP 4 でのみ配布されます。 もし PHP 5 でDOM XML をサポートする必要がある場合、 DOM 拡張を使用することができます。 この domxml 拡張は DOM 拡張と互換性はありません。
php5でdomxml関数をエミュレートするクラス
というわけで、当初はphp4のサーバーを構築しようかと思ったのだが、よく考えたら、こんなもの誰かエミュレーションするクラスを作ってるんではないか?と思ったら案の定あった。ラッキー。
http://alexandre.alapetite.fr/doc-alex/domxml-php4-php5/
使い方は簡単。
if (PHP_VERSION>='5')
require_once('domxml-php4-to-php5.php');
とするだけ。
これで、従来通りのdomxml関数が使えた。
ところで
このクラスがあるからといって、これから作るシステムでは使うのはやめましょう。