PHP5→PHP7に変更(php7ccを使った動作確認)

PHPの新しいバージョンであるPHP7が2015年12月に正式リリースされました。

で、PHP5.6は2018年12月31日でサポート終了するようです。

それに伴い、2016年12月に、さくらのレンタルサーバーでphpのバージョン7(php7.1)が使用できるようになりました。

要するに、早急に新しいバージョンへの対応を検討する必要があります。

残念ながら、ネット記事で今回初めて知りました・・・。

で、さくっと切り替えてみる

切り替えは簡単です。

SSH切り替え同様に「7.2」ボタンを押すだけです。

ありがとう、さくら。

で、案の定、PHP生成のサイトが軒並み白紙です。

コードの修正箇所をphp7ccで調べる

白紙だから、何が悪いのかも分かりません。

ネットで調べると「php7cc」というチェッカーがあるようです。ありがたや!!

インストール方法

composerをインストール

まず、curlコマンドでcomposerをインストールします。

次に、pathの通った場所に移動します。

インストールが正常に完了してるか確認します。

成功していればアスキーアートでComposerの文字が出てきます。

これでPHP7への移行箇所を調べるためのツールを使うための準備が出来ました。

php7ccをインストール

次にphp7ccをインストールします。

一般的なサイトで書かれている「global」指定はできません。

さくらインターネット上では次のようにします。

これで環境は整いました。

使い方

次のようなコマンドを打つだけです。

で、結果は正常、問題なし。

よかった。よかった!
 

 

・・・・。
 

 

ちっとも良くない!!

 

 

不具合を見つけなきゃ駄目でしょ!!

地道なデバッグ

コードの50%を削除して表示確認を繰り返し、自作関数が原因と分かりました。

で、この関数は外部ファイルとして読み込んでいる自作ライブラリです。

このライブラリのコードに直接php7ccを適用してみると、多くのエラーが見つかりました。

理由は、ereg()、ereg_replace()、split()等が廃止されたようです。

そもそも、PHP5.3.0 で非推奨となり、PHP7.0.0 で削除されました。

とは言っても、このサイトはPHP3の時代から存在してるので知らないよ・・。

とりあえず動作しましたが、このライブラリコピーしまくりで数十個存在してます・・・。

やれやれ。

wordpressもエラー吐いてるぞ・・おい

前のバージョンではcount(NULL)に対して0を返していたが、PHP7.2からwarningを出しているようです。

回避策は次のようになります。

まとめ

師走らしく大変な感じです。

サイトのコンテンツは増えてないけど、内部の仕組み対応が多いな・・・。

タイトルとURLをコピーしました