WordPressブログの500 Internal Server Errorの原因と解決方法をまとめた

WordPressブログの500 Internal Server Errorの原因と解決方法をまとめた長年放置していたブログを久しぶりに見たら、500 Internal Server Errorになってた!

色んなブログを見て、なんとか解決したのでメモ。

500_internal_server_error

解決までの経緯

アクセス解析から、起きた日付を特定。

急にアクセスが下がったのが3日前だったので、事件は3日前に起きたものと推測。

エラーログを見た。

早速、サーバーのエラーログをチェック。

しかし、初期設定のままでログが1日分しか無かったため、諦めることに・・。

.htaccessを初期化した。

そもそも、500 Internal Server Errorの原因は殆どが.htaccessファイルの記述が原因になるらしい。

こちらのブログ(http://www.panzee.biz/archives/2331)を見ながら、.htaccessを初期化。

しかし、解決せず。

pluginsフォルダをリネームして初期化した。

自動生成系のプラグインでエラーが起きるらしいようなので、pluginsフォルダをリネームして、プラグインを初期化してみた。

こちらのブログ(http://www.amelt.net/imc/wordpress/3413/)を参考にしました。

しかし、解決せず。

WordPressをデバックモードに変更。

こちらのブログ(http://wakariyasui.net/wpsyosinsya/wp-tlable-hassei/%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2%E3%81%8C%E7%9C%9F%E3%81%A3%E7%99%BD%E3%81%AB/)を見て、デバックモードをtrueにした。

しかし、エラーに関する詳しい情報が表示されず断念。

xmlRPCをリネームした。

こちらのブログ(http://nelog.jp/site-guard-measures)を見たら、xmlRPC.phpへの攻撃が原因で500エラーになることがあるらしいので、リネームしてみた。

しかし、エラーは解決せず。

FastCGIを有効にしてみた。

こちらのブログ(http://www.rakuzanet.jp/xserver-wordpress-500error.html)によると、CGIが原因でも起きるらしいので、FastCGIを有効にしてみた。

すると、表示が変わり「このWordPressはPHP 5.2以上でないと使えません」という趣旨の文章になった!

PHPのバージョンを5.1系から5.3系にバージョンアップ!

早速、PHPのバージョン切り替えを行ったところ、無事に表示されました!

まとめ

長年運営したブログはPHPのバージョンを上げましょう。

翌日

昨日のトラブルは解決できた、と思っていたのですが、確認のためにリンクを押してみると404エラー!

全然、解決していない!

ということで解決方法について調べました。

404Error

3秒で解決する方法。

このブログのとおりに、「設定」⇒「パーマリンク設定」⇒「変更を保存」を押すだけ!

www.amamoba.com

意外にもあっさり解決・・・。

エラーメッセージを読めるようになるのもプログラマーとして大事です。

https://qiita.com/yukke0310/items/600ba1b33f0073c97a51

Maximum execution time of 30 seconds exceededの意味は?

って、要するに「時間掛かりすぎ」ってこと。

なんらかのすごく重い処理(行数や件数が多いとか)をしてしまっているときに起きます。

表面的な対処法:秒数を伸ばす!

30秒だからエラーになる。

じゃあ、秒数伸ばせば良いよね! 60秒なら大丈夫じゃね?

やり方は色々ありますが、

<?php
ini_set("max_execution_time", 60);

とすれば強引に時間を伸ばせます!

根本的な対処法

そもそも30秒もかかる処理がオカシイです。

なんか余計な処理が入ってませんか? コードを根本的に見直しましょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする