PHP5.6→PHP7.3へのアップグレード

このブログやホームページはさくらインターネットでスペースを借りて作成しています。ホームページにはmodx、ブログにはWordPressを利用しています。どちらもPHPを利用していますが、これまでずっとPHP5.6を利用していました。PHP5.6はずっと前にサポートも終了し、かなり古いので、PHP7.3を利用するように設定を変更しました。

変更したところ、ホームページの一部のページが表示されなくなりました。調べてみると、それはmodxのPage TOC generatorという目次を作成するプラグインを利用しているページでした。どうもPHPが上手く動作していないようだったので、PHPのログファイル(php-error.log)を見たところ、

 PHP Fatal
error: Uncaught Error: Call to undefined function ereg() 

というエラーが出ていました。Page TOCD generatorで利用されているereg という関数がないようです。新しいPHPではこの関数はなくなってしまったようです。

調べたところ、新しいPHPでは「ereg関数」の代わりに「preg_match関数」を使うということだったので、

ereg("<h1", $header_tags[$i]))

というようなコードを

preg_ereg("/<h1/", $header_tags[$i]))

と置き換えたところ正常に動作するようになりました。

私にはPHPについてのまともと知識を持っていないので、アップデートもなかなか大変です。

今のさくらインターネットでのホームページを起ち上げて10年以上、ずっとmodxを利用してきました。modxに特別不満があるわけではないですが、modxはやはりある程度スキルがない人じゃないと適切に管理していくことが難しいような気がしますので、何か別のCMSに変更しようかなと思っています。それか、もう自分でCMSを導入するのはやめて、Google Siteなどのサービスに移行したほうがいいかもと思っています。

別のCMSに変えるとしたらやはりWordPressでしょうか。WordPressは元々はブログ用のCMSだと思いますが、今はWordPressでホームページを作成している人が非常に多いと思います。日本語での情報も多いですし、開発も活発ですし。ただ、既にブログの方でWordPressを利用しているので、ホームページにもWordPressを利用するのはちょっと面白くないですが。