質問: 現在、PHP5.6で運用中のシステム(PHP+mySQLなどで制作)をPHP7.1配下での運用が出来るように、プログラムのバージョンアップを図ろうとしています。 xammpでテストした結果です。尚、こっそり本番でも起動させたところ、同じエラーメッセージが出ました。 MDB2を1回だけ呼んで以降pear関数を使ってMDB2を読みます。 1:PHP5.6では問題なく動きます。 2:PHP7.1では下記のエラーが、先頭で出ます。 (プログラムソース)
回答: 私の場合の ”MDB2.php”のエラー”~unexpected 'new' (T_NEW)〜”は、御指摘頂いた、「MDB2.phpの390行目で新しいオブジェクトを参照渡しで変数に代入している」が原因だと思いました。ありがとうございます。しかしながら、MDB2.phpはpearコマンドでインストールして組込むシステムの一部で、個人的に修正すべきものでは無いと考えました。中身のコードを見ますと、2007年以降、修正されておりません。PHP7.1に準拠した修正はされなかったということになります。 「去る者は追わず」で、MDB2.phpにはあっさり見切りをつけ、「PDO対応」が正当な方法と考えて修正しています。 御指摘ありがとうございました。