PHP5とPHP7:Sweetcron

ホームページの設定一覧を眺めていたところ、PHPの設定が古いバージョン(PHP5.6)となっている事が判明。古き良き時代・・・なんていう気持ちはないし、「最新版のご利用をお勧めします」という記載もあるので、提供されている中では最新(PHP7.3)を試してみることにした。「PHPバージョンの変更によりサイト表示やプログラム利用に影響が出る可能性があります。」とも記載されており、あくまでもお試しのつもりではあった。

「元のバージョンへ戻すことはできません。」という記載があるんですけどね。。。で、ご期待の通り、サイト表示に問題(Sweetcronで実現しているコンテンツが表示されない)が発生したのでした。。。というわけで、ここからは安易なPHPバージョンアップによるデバッグ大会に移行となりました。。。しかもPHPはまともに学んだことすらないレベルなんですけどね。

そもそも、PHPやSweetcron含めて、サーバー側が提供してくれている簡単インストールっていう機能で自動設定しているので、デバッグしようにも先ず何が起きているのか謎。自分のPCにPHP環境を構築して動かしてみたところ、簡易なところはサーバー上と同じ振る舞いでデバッグできたものの、データベース周りのコアな部分がサーバーと同じ振る舞いにすらならず行き詰まり・・・。最終的にはサーバー上でデバッグ・合わせこみになったのでした。
 ・真っ先に表示されていたエラー:「Fatal error: Uncaught Error: [] operator not supported for strings in」
   https://editors-tbr.hatenablog.com/entry/2019/01/08/160055
 ・デバッグ用環境変数の設定など:
   https://blog.dksg.jp/2008/07/phpphpini.html

PHP5系とPHP7系の大きな差分は、ネット検索すると以下のような感じでした。先駆者の公開されている情報や公式ページ情報を頼りに対処も出来ました。
 ・split関数の削除:
   https://worker-training.com/program/php-split/
 ・mysql関数の変更:
   https://jsuzuki.jp/web/post-513
   https://www.systemexpress.co.jp/mysql/mysqli.html
   https://qiita.com/from_kyushu/items/0023a2b0816f82e1740f
 ・コンストラクタの変更:
   https://www.utakata.work/entry/20180101/1514811599
 ・サーバー変数の変更:
   https://www.php.net/manual/ja/reserved.variables.server.php

というわけで、なんとか独自対処を行って、Sweetcron を PHP7で動かせるようになり、トップページのRSS記事配信が継続でコンテンツ提供出来ております。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA