works

HTTPエラーで画像のアップロードができない

画像がアップロードできない!?

ブログが立ち上がり、やっと記事が書ける状態になりました。
「よし、今日も書くぞ~!」と意気込んだ矢先!

画像をアップロードしようとすると、「HTTPエラー」が表示され、画像をアップロードすることができません(泣)

いろいろ検索して調べてみましたが。。。
FTPソフトで編集して・・・とか、難しいことが書いてあります。
超初心者の私は、FTPとはなんぞや?とさっぱりわからず、泣きそうになりました。
とりあえず、

  • プラグインを停止して見る。
  • WordPressを更新してみる。
  • 検索履歴を全て消去する。

といった、できそうなことをやってみましたが、エラーは変わらず。
せっかくブログを始めたのに。もう挫折??
と、絶望的になっていた時にたどり着いたのが、「さとぽん」さんのサイトです。
こちら↓

 

HTTPエラーの原因

さとぽんさんのサイトにも記載されているのですが、
画像のアップロードを、左メニューにある「メディア⇒新規追加」からやってみたところ、英語でエラー内容が表示されました。

「Fatal error: Maximum execution time of 30 seconds exceeded」

これを調べてみると、「更新に時間がかかりすぎて、設定された最大実行可能時間(30秒)を超えてしまったよ」ということらしいです。時間オーバーなんですね。
なので、この30秒を60秒や120秒に変更するといいみたいです。

 

エックスサーバーで php.ini を編集

私はエックスサーバーを使用しているので、さとぽんさんの説明どおりにエックスサーバーにログインして、php.ini設定を変更することにしました。

エックスサーバーのサーバーパネルにログイン後、
「php.ini設定」⇒「php.ini設定変更」と進んで、「max_execution_time」の箇所を30から60へ変更すれば良いのです。

30を60に変えて、「設定」を押すと、変更後の確認画面が出てきます。

この確認画面でもう一度「設定」を押すと、変更が反映されるのですが、私は確認画面の「設定」を押さずに戻ってしまったため、変更が反映されず「あれ?変わってないじゃん!」と焦りました。
よく見ると、下の方には注意書きがあります。
「※/home/natsuhiro/summer-today.com/public_htmlフォルダ直下にある.htaccessファイルのパーミッションを読み取りのみに設定変更している場合、本設定が反映されません。サーバーパネルからの設定が反映しない場合は、FTP上の.htaccessのパーミッションや設定をご確認ください。」

「え!!このhtaccessとやらを変えないと反映されないの??」と、またしばらく路頭に迷うことになりましたが、もう一度落ち着いてphp.ini設定をし直し、確認画面でも「設定」を押したところ、無事に設定を変えることができたのです。

そして、画像のアップロードができるようになりました。
それ以降、HTTPエラーは起こっていません。

うさ母
うさ母
さとぽんさん、ありがとうございます!

また、他にReiraさんのサイトでも、エラーについての詳しい説明があり、参考になります。こちら↓