ど素人から毛を生やす。<延>

PHP4サーバーにXML/ParserをインストールしたらFatal errorになった話

Web > PHP 2018年10月5日(最終更新:5年前)

2018年10月5日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。

PHP4のサーバーでXMLの読み取りを行いたく、【Pear】Package Information: XML_Serializerを導入。

本番サーバーへリリースしたところ、「XML/Parser.phpがねーぞ!」とお断りされたので慌ててサーバーのライブラリを追加導入。したところ、今度は

Fatal error: Undefined class name 'self' in ...

_(:3」∠)_

このへんとかこのへんのサイト様を拝見すると、XML/Parserのバージョンが古いから?と思いましたが、新規で入れたからには本番のが新しいんだよなぁ…。

PHPのバージョンも開発サーバ、テストサーバ同様4.4.9(ふっる…)で相違なし。php.iniの内容はだいぶ違っているが、ガベージコレクション関連の設定は同じ、と。

いや待て、そもそも'self'って'self::XXX'の'self'か?
PHP4で'self::XXX'はできないだろう!ではなぜPHPバージョンの同じ開発環境では動いていた?

これはもう、本番環境のXML/Parserを開発のまでバージョンダウンしてみるべきでは?

って思ってたら、本当にダウングレードで直ったようで。

どうにも、ver1.3.7から記述が大きく変更されていて('this'だったところが'self'になったらしい)、PHP4サーバー非対応になっていたようです。

やっぱりさぁ…。7とは言わないから、せめてPHP5までアップデートしてくれねーかなぁサーバー…。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)