おすすめ記事

【ワードプレス】AMPプラグインでエラー発生!した時の対処法【WpX】

シェアする

amp_wordpress_deel
この記事の所要時間: 229

みなさんこんにちは。ついにWordPress公式のAMP対応プラグインが公開されました。

実際に導入したものの、以下のようなエラーがおきたときの対処法を解説します。

当サイトをAMP対応したところ、エラーが発生してます。

当サイトをAMP対応したところ、エラーが発生してます。

スポンサーリンク

AMP対応プラグインがエラーを起こす理由

AMP対応プラグインがなぜエラーを起こすのでしょうか。

その原因を理解して対策をしなければ、取り返しのつかないことになりかねません。

エラーの内容を以下に掲示します。

Warning: fopen(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/ganohr/ganohr.net/public_html/wp-content/plugins/amp/includes/lib/class-fastimage.php on line 31

Warning: fopen(http://~): failed to open stream: no suitable wrapper could be found in /home/ganohr/ganohr.net/public_html/wp-content/plugins/amp/includes/lib/class-fastimage.php on line 31

このエラーを端的に解説すると、「fopen()をつかって各種URLが開けません」というエラーが出力されています。

この「fopen()」が問題だということです。

PHPのfopen関数

WordPressはPHPというプログラミング言語で作られています。また、AMPプラグインも同様に、このPHPで作られています。

基本的にPHPでウェブサイトを運営する場合、セキュリティの兼ね合いからfopen関数を使用しないことが推奨されています。

例えば当サイトはX-ServerのWordpress専用サーバ(以降WpXと略す)を使用して運営しています。このWpXでは、初期設定では「fopen関数が無効化」されています。

したがって、このエラーを消すには、以下のいづれかの対策が必要だとわかります。

ポイント
WordPressのAMPプラグインがエラーを起こす時の対処法

  • AMPプラグインが使用する「fopen」を有効化する
  • もしくはfopenを使用してもエラーを出力させない

ただし、基本的には、やはり「fopenは有効化すべきではありません」。

したがって、今回は「fopenをつかってもエラーを出力させない」方法で対処します。

PHPでエラーを出力させない方法

再度おさらいですが、WordpressのAMPプラグインがエラーを出すのは、fopenを呼び出してもfopenが使用禁止になっているためエラー(WARNING)が出力されています。

そこで、以下のいづれかの設定を行います。

ポイント
PHPにエラーを一切表示させなくする2つの方法

  • PHP.iniに「display_errors = Off」を記述する
  • または、.httaccessに「php_value display_errors Off」を記述する

または、以下の方法を実施する。

ポイント
PHPでNOTICEとWARNINGを非表示にする方法

  • PHP.iniに「E_ALL & ~E_NOTICE & ~E_WARNING」と記述する

WordPress専用Xサーバーでの操作方法

上述の「PHP.ini」の設定をWordpress専用Xサーバーで行う方法を解説します。

まず「WpX」の管理パネルへログインし、AMPプラグインをインストールしたサーバーの「設定」を開きます。

まず「WpX」の管理パネルへログインし、AMPプラグインをインストールしたサーバーの「設定」を開きます。

つづけて「WpX」の設定画面を下方向へスクロールし、「PHP.ini設定」の「設定」を押します。

つづけて「WpX」の設定画面を下方向へスクロールし、「PHP.ini設定」の「設定」を押します。

【「display_errors」の項目を「OFF」にする】か、【「error_reporting」に「E_ALL & ~E_NOTICE & ~E_WARNING」を設定】します。当サイトとしては「E_ALL & ~E_NOTICE & ~E_WARNING」を設定する方を推奨しています。

【「display_errors」の項目を「OFF」にする】か、【「error_reporting」に「E_ALL & ~E_NOTICE & ~E_WARNING」を設定】します。当サイトとしては「E_ALL & ~E_NOTICE & ~E_WARNING」を設定する方を推奨しています。

設定を確認し、確定します。

設定を確認し、確定します。

最後に

近年のSEO事情。AMP対応はほぼ必須事項となりました。しかしこれまではAMP対応には専門的な知識が必要だったため、重い腰を上げることができなかった方もいるでしょう。

このワードプレスのAMP対応化プラグインの登場によって、劇的に簡単になりました。

しかし、このプラグインは登場して日が浅く、まだまだ発展途上です。

今回紹介した対応策が将来的には不要になることを願いつつ、この記事を終わりたいと思います。

どうかそれまでの間には、この情報が皆様の役に立てば幸いです。

>