ダリの雑記:WEBプログラム版

WordPressでファイルのアップロードに失敗する

下記のエラーが出て、ファイルのアップロードに失敗した原因がしょうもなかったので、記録しておく。

サーバーの負荷が高いか十分なリソースがないため画像の後処理に失敗しました。もっと小さな画像をアップロードしてみてください。推奨する最大サイズは2500ピクセルです。

 

サーバーから予期しないレスポンスがありました。ファイルは正しくアップロードされているかもしれません。メディアライブラリもしくはページをリロードして確認してください。

これが特に何もしてないのに、なぜか上のエラーだったり下のエラーに代わったりで、わけわからなかった。

エラーメッセージでググってみるとブラウザを変えたり、Wordpressにログインし直したりしたら直るという記事をよく見たのですが、それではいっこうに治らない。

WordPressをインストールしてプレーンな状態で試してみたら、さすがにうまくいったので、ApacheやPHPの設定のせいではなさそう。

で、いろいろと試しまくった結果、原因がこういうことであることが分かった。

今回のWordpressでは「wp-content」フォルダを「contents」というフォルダ名に変えていたのですが、こうすると、wp-config.phpで下記の設定を行わないといけない。

define('WP_CONTENT_DIR', ABSPATH . 'contents');
define('WP_CONTENT_URL', '(WPのURL)/contents');

結論を言うと、この(WPのURL)がhttpsではなくhttpで設定されていた。(「WordPress アドレス (URL)」の設定は、httpsで設定されていたのに、「contents」フォルダへのフルパス設定がhttpだった)

さらに、これだけなら実は問題にならないのだが、ベーシック認証をサイト全体にかけていた。

管理画面に入る際に、httpsの方はベーシック認証は解除されるわけだが、httpの方は解除されていないため、アップロード時のプログラムが、httpの方でつなぎに行って弾かれてしまい、エラーになったものと思われる。

原因特定まで時間かかった・・・が、やはり1からやり直してみるというのは有効だ。

モバイルバージョンを終了