カテゴリー︎: 【PHP】・【WordPress】
私はさくらサーバ(さくらインターネット)を利用していて
「古いphpのバージョンはセキュリティ的によくない」
という事を聞いたので
さっそく、phpのバージョンを最新のPHP7にバージョンUPしてみたところ
wordpressが表示されなくなった。。。泣
phpのバージョンは7.3 になっているっぽい
↓(※さくらサーバのコントロールパネル 2020年3月時点)
phpのバージョンを上げた後に、記事にアクセスしてみると
こんなエラー表示がでて、なにも表示されなくなった!
↓
Parse error: syntax error, unexpected ‘new’ (T_NEW) in /xxxxxx/wp-content/themes/xxxxxx/xxxxxx.php on line 60
ネットで「 unexpected ‘new’ (T_NEW) 」を検索をしてみると
プラグインとかでPHP7以降に対応していないためのエラーっぽい
PHP7以降では、変数にクラスの参照代入ができなくなったらしい、、、
しかし私の場合は、プラグインではなくて、xxxxxx.phpでエラーがでている
上記のパスの通り、該当のxxxxxx.phpファイルの中身の60行目を確認したところ
発見!
<?php $allsearch =& new WP_Query("s=$s&posts_per_page=-1");
どうやら、この&がエラーの原因らしい。。。
この&を削除したら
きちんとページが表示された!! 喜
【修正箇所↓】
しかし!
記事は表示されているが、他のエラー表示がでている
さっきとは違うエラー
↓
Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in xxxxxx/wp-content/themes/xxxxxx/xxxxxx.php on line 118
むむ、、、なんだ??
phpのコメント部分でエラーがでているっぽい。。。
少し苦戦したが(約15分)
理解した!
半角スペースが原因だった!
半角スペース部分を修正したらエラーがなくなり、正常に表示された!
【修正箇所↓】
②は全角スペースのためエラーになる
③はスペースがないためエラーになる
PHP5では、スペースがなかったり、全角スペースでも
エラーにはならなかったけど
PHP7以降ではエラーになるのね。
なるほど。