- アップロードする画像のファイル名が日本語
- データベースのデフォルトの文字コードがutf-8じゃない
- phpのデフォルトの文字コードがutf-8じゃない
これらのどれかになっているような感じがなんとなくします。
一応日本語ファイル名でも問題ないサーバは問題ないですし
最近ちらっと気づいたのはwordpress側でアップロードされたファイル名をユニークな名前にしている時があるっぽいですが・・・。
トピック投稿者
わち
(@masaosada)
jdbb様
コメントありがとうございます。
アップロードする画像はカメラのファイル名そのままなので、例えばDSC_5386.jpgといった感じです。
文字コードは使い始めた頃からずっと特に変えていませんが、勝手に変わることってあるのでしょうか。SQLの文字コードも「UTF-8 Unicode」と書いてありました。PHPの文字設定は、今までいじったことがなかったのですが、今見てみたら「未設定」となっていたのでUFT-8にしました。
でも、改善はされませんでした…。
すみません。途中からなるって書いてありますね。
だとしたらサーバのメモリとかどうでしょう。画像処理関係は結構メモリを使うので
許すのであれば多く割り当ててみるとか・・・?
また、タイムアウト周りを疑ってみるのも有りかもしれません。
DBサーバのレスポンスも考えてリビジョン周りを削除したり
ある程度までしか増やさないようなプラグインを入れるとか・・・
トピック投稿者
わち
(@masaosada)
jdbb様
そうなんです。途中から=ある日突然なんです。
その日にプラグインを入れたわけでもなく、突然です。
サーバーのメモリというのはupload_max_filesizeとかpost_max_sizeというやつでしょうか?ロリポップを使っているのですが、2Mになっていたので20MBにしてみました。
昨日の夜、Wordpressを再インストールしたので、まだ画像は普通にアップできるのでしばらく様子を見てみたいと思います。
リビジョンは自分も同じことを考えたので、すべて削除してみましたが効果はありませんでした…。
また、状況報告いたします。
トピック投稿者
わち
(@masaosada)
状況のアップデートと今気がついた別の不具合を報告します。
上で書いたメモリを増やす件ですがやってみましたが、ダメでした…。
さらに気がついたのはリンクを作ろうとしたところ、古い記事を読み込むことができず過去の記事一覧が出ませんでした。
画像もサムネイルが表示されないのではなく、もしかしたら画像の一覧を作れないのかもしれません。それと同じでリンクの過去の記事一覧も生成できないのかも?と思いました。
またWordpressを再インストールしたら、普通に使えます…。
聞けば聞くほどわからないですね・・・。
キャッシュ系のプラグインを使っているとかは無いでしょうか?
キャッシュが読み込めない・書き込めなくなって途中で止まるとか。
トピック投稿者
わち
(@masaosada)
jdbb様
キャッシュ系のプラグインは使っていません。
昨日から、プラグイン1つ1つを疑っています。
追加した記憶はないんですけど、もしかしたらWordpress3.42に変えたタイミングくらいなのかも?とか思ったりしています。こういうときのために「何をしたか」をメモっておいた方が良いですね。
また状況アップします。
もし、何か「これは?」というアイディアがありましたら、教えていただけると幸いです。
トピック投稿者
わち
(@masaosada)
このエラーのアップデートです。
結果だけ言うとまだ解決していません。
行ったことは
- すべてのプラグインを停止に
- WordPress3.5をダッシュボードで再インストール
- 画像のアップロードとリンク作成時リンク一覧が出ることを確認
- 1-2日放置
- 前と同じように画像アップ時エラーが出て、リンク作成時過去記事のリストが出ない
という状態です。
ちなみにWordpressでいくつかサイトを運営していて、今は更新していないサイトに3.5を入れたところ同じ問題になっています。
サイトが例えばdomain.netというアドレスだとしたら、どのサイトも1つはdomain.net 他はdomain.net/english などという感じです。
もしかしたらWordpress自体の問題と言うより、使っているロリポップかムームードメインの問題なのかな?とも思っていますが、何が悪いのか全然わかりません…。
こんにちは。
状況から考えると、サーバかDBの方に原因があるような気がします。
「見た感じアップロードされてるっぽい」という状態で、実際にFTPなどでサーバを確認してみてはいかがでしょうか。画像ファイルは問題なくアップされていますか?
→ 中途半端にアップされていたり、0KBになっていませんか?
→ 画像アップロード先のフォルダが777になっていないとか?
phpMyAdminなどでDBを確認してみて、データは正常に格納されていますか?
→ DBの最適化を行なってみては?
あと、複数のサイトで同じDBを読んでいて、競合している可能性はありませんか?
プラグインは、WP Multibyte Patch は有効化しておいたほうが良いと思います。
あとは、画像アップロード時のエラーが気になりますね。差し支えない程度に教えていただけると、わかるかと思います。
トピック投稿者
わち
(@masaosada)
mekemoke様
画像ですが、上で書いたあと確認しましたがちゃんとアップされていました。
投稿画面で画像をアップすると赤い文字でアップロードが終わる直前に「アップロード中にエラーが発生しました。後ほど再度お試しください。」というエラーが出ます。
サイドバーのメディア→新規追加で画像をアップすると、100%になったあと処理中になり、ファイル名で変な名前になって表示されます。例えば「4�」とか文字化けすることもあれば数字だけの時もあります。
どちらの方法でも投稿画面のメディアライブラリではなく、サイドバーのメディアライブラリでは画像がアップされているのを確認できます。
多少重複になりますが、今わかっている、できなくなっていることは
- 投稿画面で画像をアップするとエラーが出る。でもアップはされている
- 投稿画面でメディアライブラリが見れない
- 投稿画面で過去記事のリンク一覧が表示されない
です。
ちなみに上でも書いたdomain.netとdomain.net/englishなど以外で同じDBを使っている別のドメインでも同じ問題が起こっています。
なので、ほぼ間違いなくDBも問題なのでは?と思っていますが、解決策がわかりません。
mySQLadminにログインしすべてのテーブルの最適化やオーバーヘッド?の最適化も行いましたが改善されません。
それとWordpressのプラグインのwp DBmanagerなどでの最適化も行いましたが改善されませんでした。
それと複数サイトはありますが、どれもデータベースのprefixは違っています。ということは競合してないという解釈で合っていますか?
WP Multibyte patchはずっと使っています。
それぞれのサイトには別々でWordpressを入れているのですが、更新されていないサイトでも久しぶりにログインしたらいつの間にか同じ問題が起こっていました。ちなみにWordpressのバージョンは3.4です。
よろしくお願いします。
エラーというのは全部日本語になってて、パスが表示されているとかではないのですね。
でしたら、wp-config.php で WP_DEBUG を true にして、現象を再現してみてください。
おそらく、warningエラーがずらずらっと表示されるかと思われます。
あと、DBの競合はしていないようですね。
> 1. 投稿画面で画像をアップするとエラーが出る。でもアップはされている
画像をクリックすると問題なく表示される、ということでアップは正常と判断されましたか?画面が信じられない状態なので、生データに直接アクセスしてみてください。FTPでホスト側を確認するのも手です。
> 2. 投稿画面でメディアライブラリが見れない
サムネイルが表示されないようなので、サムネイル生成部分がおかしくなっているような…?
> 3. 投稿画面で過去記事のリンク一覧が表示されない
これも途中で終わっているようなので、デバッグモードをオンにしてエラー文をご確認ください。
あと、この辺と状況が似ているのかな?とも。
http://wordpress.org/support/topic/image-upload-issue-since-upgrade?replies=21
設定>メディア からアップロードするパスを、もう一度設定しなおし、アップロードフォルダのパーミッションを777に設定しなおしてみてはいかがでしょうか。
トピック投稿者
わち
(@masaosada)
mekemoke様
さっそくアドバイスありがとうございます。
パスは表示されていません。wp-config.phpに入れる文章は
define(‘WP_DEBUG’, true);
であっていますか?これを追記する場所はどこでもいいでしょうか。
この define(‘WP_DEBUG’, true); をとりあえず define (‘WPLANG’, ‘ja’); の次の行に入れて画像をアップしたのですが、エラーメッセージは同じでした。
それと FTPで画像を直接見てみましたがちゃんとアップされていました。
見た場所は/wp-content/uploads/2013/01 でファイルサイズも合っていて、ダウンロードして表示もさせましたが表示されました。
アップロードのフォルダのパーミッションは777にできました。
でも「設定→メディア」にはアップロードするパスの指定をするところはありませんでした。
お手数おかけします。
よろしくお願いします
トピック投稿者
わち
(@masaosada)
define(‘WP_DEBUG’, true);ですが、今表示されました!
ただちょっと今から30分ほど席を離れるので、また追ってお知らせします。
(ちょっとかぶったので編集しました)
3.5ということですので、これと同じ現象でしょうか?
http://ja.forums.wordpress.org/topic/13003?replies=4
ということで、PHPのバージョンも合わせてご確認ください。
PHPをアップグレードできるようならしたほうがよさそうです。
ロリポならWEBツールからPHPのバージョンアップが出来るはず。