満足への果てしない旅
2018/06/27
IT 仕事WordPress投稿時に、HTTP ERROR 500となり、投稿はできるものの、Facebook連携がされない。
会社のブログや施工事例はWordpressで運用しています。
WordPressの投稿完了時に、HTTP ERROR 500となる事象が発生しだしたものの、記事自体は投稿できているので、動いているのでいいかと放置していた。
ところが、Facebookの山口建設ページへの連携が止まっていたようで、しばらく気づきませんでした。
まずはWordpress本体の更新
WordPressからFacebookへの連携が、WordpressとJetpackで実施されているので、ためにためたWordpress本体の更新をどきどきしながら実施。
前回のWordpress更新時、非常に痛い目にあった記憶が蘇りましたが、今回は難なく更新を実施し、現時点で最新のバージョンである4.9.6へ。
その後、「設定」→「共有」からFacebookへの連携を外して新規に連携し直しても、Facebookへの連携はされず、HTTP ERROR 500のまま。
デバックモードで該当箇所を探す
「wp-config.php」に
define('WP_DEBUG', true);
を記載してデバックモードへ移行。
投稿完了時に表示されるエラーログに下記を発見。
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/exec-php.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/manager.php on line 36
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/manager.php on line 37
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/manager.php on line 38
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/manager.php on line 39
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 53
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 56
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 57
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 63
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 64
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/admin.php on line 79
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/cache.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/cache.php on line 39
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/includes/ajax.php on line 64
Deprecated: Assigning the return value of new by reference is deprecated in /*/blog/wp-content/plugins/exec-php/exec-php.php on line 22
もともと発生した感じがするものの、該当の「Exec-PHP」プラグインを停止。
それでも、Facebook連携は再開されず。
新たなログが!
投稿完了時に新たなエラーログが!
Fatal error: Cannot use object of type WP_Error as array in /*/blog/wp-content/plugins/search-everything/search-everything.php on line 927
検索してみると、同様の事象の記事を発見。
ありがたや、ありがたやということで、WordPressのフォーラムの記事も参考にしつつ、同様の修正を実施。
Facebook側の投稿から判断するに、5月末でPOSTしているサーバがなくなった模様です。
修正を実施後は、無事にFacebookへの連携が実施できました。
まとめ
- 2018年5月末頃から投稿完了時にHTTP ERROR 500が表示され、Facebookへの連携が出来なくなる。
- 原因としては、Search everithingのプラグイン。
- Search everithingのコードを修正すれば回復。
Exec-PHPを停止したものの、何の絡みでこのプラグインを導入したのか、記憶が曖昧…。
運用できているので良しとしましょう。