Contents
悪夢のはじまり
ブログ気合い入れて書くぞ!と画像を一気に20枚ぐらい加工して、さあ、WordPressに画像アップしよ。
1枚目、OK
2枚目、…
ありゃ?なんだこれは?
アップできてないじゃん!この内容で画像なしはあり得ないでしょう!
ということで、新米ブロガーの画像アップロード悪戦苦闘の物語です。
敵を知る
まずは原因を解明しないと対策も打てないので、とりあえずGoogle先生へ聞いてみました。
1.WordPressとの接続の問題
2.画像サイズの問題
3.プラグインの影響
4.テーマの影響
5.画像形式の問題
6.画像アップロード時間の問題
こんなところが目につきました。他にもあったのですが、専門用語(初心者には難しすぎる言葉)が羅列されていましたので、とりあえず置いときました。
WordPressとの接続の問題
記事作成時にちょっとした用事が入って、パソコンを放置してる間に、WordPressとの接続が途絶えてしまう。みたいな、何かしらの理由でWordPressとの接続が途絶えてしまって問題が起きていることがあるみたいです。
画像サイズの問題
単純なやつです。
ここに最大アップロードサイズ:30MBと書かれてます。これオーバーしたサイズの画像をアップしようとしてるって問題です。
プラグインの影響
WordPressでサイト構築していると、多くのプラグインを利用していると思います。そのどれかが影響して画像がアップされない状況です。
よく影響を及ぼすと言われているのが
『EWWW Image Optimizer』です。このプラグインは入れている人多いんじゃないですかね。私もプラグインが何かもよく分からない時から入れてます。これを停止させたらアップロード出来たという記事もありました。
テーマの影響
WordPress初心者の強い味方のテーマですけども、そのテーマの影響で画像がアップロードされないことがあるみたいです。
余談ですけど、私は有料テーマの『JIN』を使用してます。
画像形式の問題
JPG、PNG、GIF、BMP、TIFなどありますが、一般的なのはJPGですかね。写真撮ったら、だいたいJPGですよね。
この画像形式が何らかの影響を与えているのではないかという問題です。
私は最近PNGが多いです。JPGと比べると画質がいいです。欠点としては、少々データ容量が大きい点です。
こんな感じです。少々じゃないですね。
画像アップロード時間の問題
これはWordPressというよりもサーバーの問題です。
サーバーは基本的に、あるスクリプトが行われている場合、一定時間以上実行されていると強制終了するようになっています。
画像アップロード時間が、サーバーで設定している時間を超えてしまい、画像アップロードを強制終了されている状況です。
戦闘開始!
それでは一つずつ潰していきます。
WordPressとの接続の問題
この解決策は簡単です。
このいつも押しているであろう赤枠『下書きとして保存』を押して下さい。これでWordPressと接続されますので、もし接続問題であれば解決するはずです。
・私はビビリですので、頻繁に『下書きとして保存』を押しています。
問題なし
画像サイズの問題
無料の画像加工アプリやソフトが山のようにありますので、そちらでサイズを変更して下さい。
・画像加工時、まず最初にサイズ変更から行なっている。
以上の理由から、こちらの可能性はゼロに等しいです。
問題なし
プラグインの影響
プラグインについては、入れているプラグインがそれぞれで違うと思いますので、それぞれで試して見て下さい。
・入れてるプラグインの全てを理解していない。
・画像アップロードの度、プラグインを停止するのは非効率なので避けたい。
以上の理由から、他の可能性を試してから取り組んでみることに。
保留
テーマの影響
テーマに関しては、初心者では触れると逆効果になる可能性が高いです。やれるとするとバージョンの確認ぐらいです。最新バージョンか確認して、バージョンが古ければ最新にしてみると良いかもしれません。
・テーマのバージョンは最新。
・私も触れると逆効果になる可能性が高い。
以上の理由から、他の可能性を試してから。
保留
画像形式の問題
画像加工、編集アプリやソフトで、画像形式を変更してアップロードしてみて下さい。
PNG→JPGでアップしてみたところ、最初の一つはうまいいき、これが原因だったのか!と喜んだつかの間、次の画像がJPGでもダメでした。
その後、同じ画像を続けてアップしてみると成功することがありました。
結論、画像形式は影響ありません。
画像アップロード時間の問題
色々試していると、
んんん?最大実行時間30秒を超えてる?
これか!だから、画像形式で試していた時に、同じ形式でも成功する時と失敗した時があったのか!色々納得。
Maximum execution timeの変更
私は『Xserver(エックスサーバー)』を使っているので、『Xserver』で説明します。基本は同じだと思いますので、みなさんそれぞれのサーバーに当てはめてみて下さい。
サーバーパネルにいきましょう。
こんな感じですね。php.ini設定(赤枠)をクリック。
ドメイン選択画面になりますので、該当のドメインを選択。
php.ini設定画面に入ります。
下の方に行くと、その他の設定の中に、『max_execution_time』とあります。初期設定は30(秒)になっています。
そこを30→100に変更して、確認画面へ進むをクリック。
確認画面になりますので、数値が100になっているのを確認して変更するをクリック。
これで変更は完了です。
画像をアップしてみて下さい。おそらく無事アップできているのではないでしょうか。
php.ini設定は、他の動画などで不具合が発生した時にも変更する箇所ですので、他に必要になりそうなところの詳細も上げておきます。
この後、画像アップロードでHTTPエラーは全く出なくなりました。
今のところ、画像アップロード時間が問題だったと結論づけれると思います。
勝利!
私の場合は、画像アップロード時間が影響しており、サーバーの『max_execution_time』を変更することで解決しました。
頻繁に保存もしている、画像も全部サイズを変更しているという人は、まず『max_execution_time』の変更で解決しないか試してみるのが、時間効率的に良いと思います。
今後『max_execution_time』変更で解決しないときが出てきましたら、プラグインやテーマについて調べてお伝えしたいと思います。
ただ、その後ガンガン画像アップロードしてますが、全くエラーは出ておりませんので、其の時は来ない気がします。