慌てるべからず!
- HTTPエラーページをデベロッパーツールで確認!
- エックスサーバーのエラーログをダウンロードして確認!
- 原因を突き止めたら解消させる!
トコトコ研究所は、エックスサーバーを利用してブログ運営しています。
今回、エックスサーバーの高速化機能である「Xアクセラレータ」を利用したかったのですが、当環境では、まず最新サーバーへ移行させる必要がありました。
ですから、まずは「新サーバー簡単移行」の機能を使い、移行手続きを踏み、その後、Xアクセラレータで高速化!という手順。
サーバー移行から高速化まではうまく行ったのですが、その後、当ブログに画像(メディア)アップロードしようとすると、「HTTPエラー。」が表示されてしまい、アップロードが不可に。
やはりまずは、直近の新サーバー移行が原因ではないかと疑うわけです。しかし、色々と検証してみると、スマホブラウザでのワードプレスを使った場合は、問題なく画像アップロードできたり…と、不明な点が続々と出ます。
Googleで検索をかけてみると、試してみたい項目に「プラグインを全停止して検証」や「ブラウザのキャッシュを削除して検証」が見つかりました。しかし、筆者の場合、これらを試しても全く状態は変化なし。
同じような状況を経験されている方のために、ログを残しておきます。
まず、最初に試して欲しいのは、もう一度ワードプレスのメディアアップロードの画面で「HTTPエラー。」を表示させます。
そして、エラーメッセージが表示されている状態で、デベロッパーツールを開く。すると、右上の方に赤いX印が出ていると思います。そちらをクリック。すると、なんかしらのメッセージが下部に表示されますね。これが原因その①です。
筆者の場合は、「500エラー」を示すメッセージが表示されました。500エラーはサーバー負荷に関するエラーですから、どうやらエックスサーバーが原因とみて間違いなさそうです。
こうして、原因の切り分けを行いつつ。
次は、エックスサーバーのエラーログを確認します。
エラーログは、エックスサーバーのサーバーパネルにログイン後、トップメニューの「アクセス解析」→「エラーログ」からダウンロードすることができます。Macの場合はこれをテキストエディットアプリで開きます。
開いたら、ログの下の方が最新メッセージです。
筆者の場合は、ここに『Maximum execution time of 30 seconds exceeded〜〜〜』というエラーログが残っていました。日時が一緒に記述してありますから、HTTPエラー。が出た時間と被っているはず。
ここでやっと原因を突き止めることができました。
このエラーの原因を解決すれば画像アップロードが再度可能になるはずです。
で、このエラーがなんなのか、というと、筆者も詳しくないので、もう一度Google検索をし直しました。どうやらphpの記述が原因のようで、画像アップロードまでの待機時間30秒に設定してあり、それを過ぎた時点で弾かれてしまう、と。
詳しくないので、解決方法だけサクッと説明すると、もう一度エックスサーバーのサーバーパネル内に行き、「php.ini設定」をクリック。サイトドメイン名が表示されているので対象サイトをクリック(全サイトが対象なはずですから、テストした後は全サイト同じ設定すればOK)
「php.ini設定変更」のタブをクリック
下の方へスクロールしていくと、「max_execution_time」という項目が見つかります。
この項目の設定数値が「30」になっているはず。これを「60」に変更します。(設定する(確認)ボタンを押すのをお忘れなく)
筆者の場合はこれで治りました!
取り急ぎのご報告ですので、画像などの添付がなくてすみません。。。