Wordpress4.5で画像がアップロードできない

HTTPエラーになりファイルがアップできない

先日Wordpressでメディアをアップロードしようとしたところ 「HTTPエラー」の表示が出てしまい、何度やっても 画像ファイルがアップロードできないという事態が発生しました。 WordPressバージョン4.5にしてから起きた現象なので おそらくそれが原因と思われます。   検索してみると同じような症状が報告されていましたので、 紹介されているやり方をとりあえず実施。 しかし自分のケースでは、紹介されている解決策では 対処で出来ませんでした。  

試してみた方法あれこれ

アップロードサイズの変更

大前提として、 画像ファイルのサイズオーバーなどではないので、 まぁここではないだろうと思いつつも、 念のため最大転送ファイルサイズを2MBから20MBに変更してみましたが 予想通り無駄なあがきでした 。 😥 他のワードプレス4.5以前のサイトは問題なく機能しているので、 やはりワードプレスのバージョンアップをしたことが影響しているのは 間違いなさそうですが、具体的にどうすればいいものか‥‥。  

パーミッションの変更

まずは、パーミッションの設定を変えてみるという方法を 試してみました。 ロリポップに限らず、ワードプレスでは アップした画像の保管先は /wordpress/wp-content/uploads の中になるとのことなので、 フォルダに変更を加えるためのパーミッション(権限)の 設定を変えてみるという方法です。 デフォルトで755になっているものを757にするというものですが、 こちらは残念ながら効果なしでした。 707に変更するというのもやってみましたが同様でした。 😥

プラグインを停止する

次に疑わしかったのはプラグインが影響しているという可能性です。 すべてのプラグインを停止した状態で画像のアップロードを実施。 期待していたのですが、この方法でも状況は変わらず、 原因はプラグインの干渉ということでもなさそうです。  

結局ロリポップに問い合わせをして解決へ

結局、私の貧弱な検索能力では解決策が見つからず、 サーバーのロリポップに問い合わせてみました。   上述の状況を伝える内容のメールを送ったところ 約2時間で丁寧な返答を頂けました。

 


ご連絡いただいた件につきまして、お調べしましたところ

WordPress 4.5 では「/wp-includes/class-wp-image-editor-imagick.php」

というファイルの記述が影響して、メディアのアップロードが

行えないケースがあるとWordPressにて報告されていました。

※以下はWordPressの英語版のページです。

▽#36501 (Fatal error: Undefined class constant

‘ALPHACHANNEL_UNDEFINED’) WordPress Trac

https://core.trac.wordpress.org/ticket/36501

 

恐れ入りますが、WordPressの最新バージョン 4.5 の

仕様が影響してエラーが発生している可能性がございます。

対処方法として、「/wp-includes/class-wp-image-editor-imagick.php」を

修正する方法が紹介されておりますので、以下のように

379行目と380行目の記述を修正いただきますようお願いいたします。

———————————————————-

&& defined( Imagick::ALPHACHANNEL_UNDEFINED )

&& defined( Imagick::ALPHACHANNEL_OPAQUE )

———————————————————-

        ↓

———————————————————-

&& defined( ‘Imagick::ALPHACHANNEL_UNDEFINED’ )

&& defined( ‘Imagick::ALPHACHANNEL_OPAQUE’ )

———————————————————-

また、以下より「ロリポップ!FTP」での

ファイルの記述の修正手順をご案内いたします。

 ※上書きしたファイルの復旧はできかねますので、

  予めバックアップをとるなどご対策ください。  (以下省略)


この通りにコードを書き直したところ、 無事にファイルのアップロードが可能になりました。 ロリポップのサポートセンターに直接問い合わせることなんて 年に1回くらいなのですが、毎回対応は迅速で丁寧だなと感心します (他のサーバー会社さんもそうなのでしょうけど)。 今回も本当に助かりました。 😛  

WordPressを使うならロリポップ!
簡単インストール完備で楽々スタート!