Warning: Use of undefined constant php – assumed ‘php’というエラーを解決した話

反省・備忘録も含め、サイトヘルスの改善なども含め、不用意にサイトテーマをいじると危ないということと、エラーをどうやって修正したかを記録しておきます。

スポンサーリンク

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP)というエラーがサイトの最上部に!

サイトに関して、「エラーメッセージ」が出ているというご指摘をいただき、サイトを確認すると、

 

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in /home/(中略)/head-insert.php on line 1

 

というエラーメッセージが。

 

午前・午後といろいろな解決方法を調べていましたが、心当たりは2点。

 

当サイトはさくらサーバーを利用しておりますが、

  • さくらサーバーのPHPを7.3から7.4に変更したこと
  • コントロールパネルのPHP編集で、php.iniをいじったこと

このどちらかが原因だろうな、と考えていました。

 

そこでまず、PHPを7.3に戻してみる。

 

・・・エラーは全然改善されない。

 

次に、Wordpressの機能である、「サイトヘルス改善」で、

 

 

 

 

 

 

 

 

 

 

 

 

 

 

オプションのモジュール imagickがインストールされていないか、無効化されています。

 

というメッセージ。

 

この1カ所(実はもう「未使用テーマが2つ残っていて削除できない、というエラーがあったのですが、バックアップ後、ファイルマネージャー未使用テーマ2つを削除するという力業で解決)がきになり、Imagickをインストールする方法を調べてみました。

 

そこのたどり着いたサイト(imagickがインストールされていない」解決方法【WPサイトヘルス】)では、

  1. さくらサーバーのコントロールパネルにログイン
  2. php.iniを編集し、「extension = imagick.so」というコードを挿入

サイトヘルスは解決し、このサイトの情報は正しく、エラーの原因は他にありました。ですので、このページはとても有用だったのです・・・)

 

さらに他の項目も確認し、PHPのバージョンが7.3で設定されていたようでしたので、7.4のバージョンに置き換えました。

 

・・・・ここからが試行錯誤の始まりでした。

画面上部に、非常に目立つエラー画面が。

 

 

 

 

 

そこには、Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in /home/HOGEHOGE/cocoon-child-master/tmp-user/head-insert.php on line 1

というエラーメッセージが。

head-insert.phpというファイルの1行目に、未定義の定数を使った表記がありますよ、というエラーメッセージ。

そこで、ファイルマネージャーを使って、該当のファイルを見ると、「どこがおかしいのかわからない」という状況。

 

そこで次は、PHPのバージョンを7.3に戻したり、ルートディレクトリに近い部分に生成されたphp.iniファイルを削除しましたが、症状は改善されず。

 

どうしようか・・と考えているときに、「そうだ、利用しているテーマcocoonの子テーマファイルを再ダウンロードして、設定を確認しよう」と、イトにアクセス、子テーマをダウンロードし解凍、head-insert.phpの内容を、さくらサーバーのファイルマネージャーで、コピー&ペーストで貼り付け。

 

そして数分待つと、エラー表示のない画面に・・・。

 

 

 

 

 

というわけで、PHP7.4の更新の影響があったのかは不確定なままですが、最初のImagickをインストールする方法については、影響がなかったことがわかりました。

 

WordPressに関してカスタマイズ・変更を試すときは、1つずつ、段階的に進めていくべきだということを改めて痛感しました・・・・。

 

とりあえず、無事に表示されるようになり、ひと安心です。