WordPress 2.5 で記事を公開できない件
2008年03月31日 19:13
自宅というかプライベートで使ってる分には問題ないのですが、会社のコーポレートサイトも 2.5 にしたところ、記事を公開できない(というかタイムアウトする)不具合が発生しています。
んで、対処法としてはタイトルを「.」、記事内容を「.」などのダミーにすると公開できるので、後から直して「保存」するといいようです。要するにエンコード周りなのかもしれません。
wordpress.org のフォーラムでは、ビジュアルエディタを切るといいみたいに書いてますが、うちでは全く効果がなかったです。それにしても、ファーストサーバは何から何までレガシー EUC-JP など使っているため、phpMyAdmin で直に publish してやろうにも、記事のデータが文字化けするのでどうしようもありません。
コーポレートサイトもぜんぶ英語で書くしかないのかよ(笑。

http://ja.forums.wordpress.org/topic.php?id=44&replies=5
もしかして、こちらの不具合かも?と思いました。
投稿:Nao / 2008-04-02 at 2008-04-02 07:26
Naoさんこんばんは。情報ありがとうございます。
なるほど。僕が遭遇したときも、
・新規投稿でした。
・エントリーのタイトルは「・・・・年・・月」としているので、重複があります。
という点で条件は同じです。
ただ、この MD もそうですが、運営しているサイトのローカルミラーで試して
みたところ、タイトルや所属カテゴリーを全く同じにしても公開処理は問題なく
できているのです。本家で類似したスレッドを見ると、DB がクラッシュしたとか
書いてありますので、そっとしておこうかなと(笑。
投稿:philsci / 2008-04-03 at 2008-04-03 00:39
あーでも、本家のスレッドにある「ブランクページになってしまう」という現象は、
タイムアウトしてブランクが出てしまうというよりも、単に php.ini の設定で
display_errors = Off になってるからのように読めますね。
投稿:philsci / 2008-04-03 at 2008-04-03 00:42
もう一つ発見がありました。
或る記事をテストとして作成し(非公開で)、それを削除した後で
表示される新規作成画面で、既存のタイトルと同じものにしても
投稿は即座に行われます。
また、タイムアウトしてしまう現象が起きているときは、公開しようと
非公開であろうと、記事の日付や excerpt あるいは本文も吹っ飛んで
しまいます。タイトルしか保存されないようです。
投稿:philsci / 2008-04-03 at 2008-04-03 22:32
どうも 2.5 は新規投稿に関して、何かと難ありなようですね…。
チケットを出したんですが、「うちは問題ないよー」と言われてしまいました。
http://trac.wordpress.org/ticket/6538
philsciさんも、大丈夫な状況もあるのですよね。私もなぜか Mac Safari では
うまくいったような気がしていたのですが、今日やってみたら同様のエラーが
出てしまいました。ダメなときと大丈夫な時で何らかの差があるはずなのですが、
そこが何であるのかが私もまだ分かってません。
もうちょっと根気よく検証を続けてみます。
追加情報、助かりました!ありがとうございました。
投稿:Nao / 2008-04-04 at 2008-04-04 00:12
Naoさんご苦労様です。
ご参考になるかどうか、ちなみに環境を書いておきますね。
●正常動作
・対象:markupdancing.net, philsci.info, xxxxxx.jp (WordPress 2.5 本家)
・ウェブサーバ:Apache/1.3.34, PHP/4.4.2
・データベース:MySQL 3.23.49
・エンコード指定:UTF-8
●正常動作(ローカル)
・ウェブサーバ:Apache/2.0.61 (Win32), PHP/5.2.4
・データベース:MySQL 5.0.45, utf8
・PHPエンコード指定:UTF-8/LF
●異常動作(会社サイト:ファーストサーバ)
・ウェブサーバ:Apache 2.x, PHP/5.2.5
・データベース:MySQL 4.0.24-standard, ujis
・PHPエンコード指定:EUC-JP/LF
投稿:philsci / 2008-04-04 at 2008-04-04 01:04
続報というか・・・ローカルでは正常だと思いましたが、ローカルのWPのエラーログを見ていると・・・
WordPress database error Incorrect datetime value: ‘2008-04-04T02:15:41+09:00′ for column ‘date’ at row 1 for query INSERT INTO `wp_arc_sec_log` (`id`, `ref_id`, `ip`, `page`, `tag`, `value`, `app`,`type`,`date`,`status`) VALUES (0, 0, ‘127.0.0.1′, ‘/www.xxxxxx.jp/wp-cron.php’, ‘DOCUMENT_ROOT’, ‘D/web-fun’, 0, ‘path’, ‘2008-04-04T02:15:41+09:00′, 1) made by wpids_log
といったエラーがありました。wp-cron.php が引数のパターンと、wp-login.php が引数のパターンと二つあります。post_date の値が空になってしまうのは、これが原因なのかもしれません。こんなわけで、データベースにデータを入れるときにおかしくなっているのかなぁと思いました。
ついでに、wp-config.php の DB_COLLATE には何も設定していなかったので、今度は会社サイトの WP に
define(’DB_COLLATE’, ‘ujis_japanese_ci’);
と設定してみましたが、やはり新規投稿すると延々スクリプトを実行しております。しかも、最後には
post.php をダウンロードさせるウィンドウが出ました(笑。0バイトの空っぽのファイルなのですが、
これはこれで Apache 初心者がよくやる MIME 設定のエラーみたいな状態になっており、なかなか
興味深い現象です。
ちなみに日本語フォーラムで言われているブラウザ依存という点ですが、当サイトの他のエントリーに書いた
ように、僕のマシンは会社も自宅も Safari for Win が起動しませんので、Firefox での動作となっております。
IE8 beta は・・・それ以前の問題で、JavaScript を使ってるエディター画面がまともに動かないようです。
投稿:philsci / 2008-04-04 at 2008-04-04 02:49
うーん。色々使ってると新しい動作不良が起きてますなぁ。今度は Firefox にて
エラー: tinyMCE is not defined
ソースファイル: /wp-admin/js/editor.js?ver=20080325
行: 73
エラー: unterminated string literal
ソースファイル: http://www.markupdancing.net/wp-includes/js/tinymce/tiny_mce_config.php?ver=20080327
行: 383, 列: 8
ソースコード:
shuffle:”Shuffle
という具合で、ビジュアルエディタがテキストエディタのままになっていて、
タブをクリックしても切り替わってくれなかったり・・・実用上は特に致命的ではありませんが
wp-amazon はビジュアルエディタ必須(ブックカバーの画像を挿入するときは、ビジュアル
エディタでないと D&D で画像を投稿できない)だったりするので、これも見てみないといけない
ようですね。
本家で言われているようなキャッシュ(ブラウザあるいは /wp-content/uploads/js-cache/..)
の問題ではないと思います。恐らく上記のリンクを押して表示される JavaScript コードの行数に、
Shuffle という行があって、これ以降のコードが全てごっそり抜けています。したがって、
/tinymce/langs/wp-langs.php の処理が途中でおかしくなっているのでしょう。
投稿:philsci / 2008-04-05 at 2008-04-05 01:19
実はco.mmentsでフォローしてるのでしつこく戻ってきました(笑) :-)
フォーラムの方でもありがとうございました。
ふむふむ。こちらの #5 でも書かれているように、
http://ja.forums.wordpress.org/topic.php?id=59
WP-Amazon など、独自のJQueryを読み込んでいるプラグインが入っているとアップローダーがうまく動かないことがあるとの事です。
上記の記事内にNo-Flash-Uploaderプラグインというものへのリンクもありますのでよろしかったら。
投稿:Nao / 2008-04-05 at 2008-04-05 04:42
Naoさんこんばんは。
ご丁寧にお返事ありがとうございます。なるほど、独自 jQuery も考えられますね。
いっかいドンと消してみてクリーンインストールしてからプラグインを入れていく
とか、幾つかやってみる価値はありそうです。
また試してみてフォーラムの方へコメントしますね :)
投稿:philsci / 2008-04-06 at 2008-04-06 00:54