2009年2月10日

Apacheのエラーログに「Table ‘[DB名].[プレフィックス]_post2cat’ doesn’t exist for query…」というWordPress(バージョン 2.7)のエラーが出ていました。

Akra’s DevNotes » Blog Archive » post2cat doesn’t exist after upgrading WordPress
を参考に、Google XML Sitemapsを最新の3.1.2に更新したところ、ログ出力がなくなりました。

ただ、同じように古いgoogle-sitemap-generator(Google XML Sitemaps)を使用していても、エラーログが出力されていないサイトもあるようなので、古いgoogle-sitemap-generatorを使用していたことが原因かどうか、正確ではありません。

2009年2月9日

ローカル環境のApacheのエラーログをみると、WordPress(バージョン 2.7)が次のようなログを出力していました。

PHP Warning:  array_keys() [function.array-keys]: The first argument should be an array in 略.../widgets.php on line 1044

Problem restoring dbを参考に、ウィジェットをすべて削除後、元に戻すと、Warningのログ出力がなくなりました。

2008年4月14日

WordPress ME 2.2からWordPress 2.5へアップグレードしました。

アップグレードは、次のような流れで実施しました。

  1. DBデータとファイル一式バックアップ
  2. ローカル環境に本サイトのDBデータとファイル一式を使用した環境を構築
  3. ローカル環境でアップグレードのチェック
  4. 本サイトに新しいDBを作成し、ローカル環境でチェックしたDBデータをインポート
  5. 本サイトのファイルをローカル環境でチェックしたものと入れ替える

ローカル環境と本サイト間で、mysqlデータのインポート/エクスポートするときは、ダンプしたsqlファイル内のURLやファイルパスを置換しました。

だいたいうまくいったようでしたが、本サイトの管理画面のダッシュボードにアクセスすると、何も表示されない状態でした。

PHPのエラーを表示するため、wp-adminディレクトリの.htaccessにphp_flag display_errors "On"を記述して、ダッシュボードにアクセスすると、次のようなエラーが表示されました。

Fatal error: Cannot use string offset as an array in [略]wp-admin/includes/dashboard.php

WordPress › Support » 2.5 - Fatal Error: Cannot use string offset as an array, line 46 dashboard.phpを参考に、DBのデータを削除しました。

SQL:
  1. SELECT * FROM wp_options WHERE option_name='dashboard_widget_options';

"dashboard_widget_options"に対応する行が1行しかないことを確認して、その行を削除。

SQL:
  1. DELETE  FROM wp_options WHERE option_name='dashboard_widget_options';

これでダッシュボードは表示されました。
その他もいまのところ問題ないようです。

次の記事で、ホームページの表示をInternet Explorer 7で確認することをTODOにしてました。
(他のブラウザ(Opera等)でも、いつか確認するつもり。)

WordPress:EasyAllテンプレートでolタグを使用した表示について
Yahoo! UI LibraryとInternet Explorer6は相性が悪いのかな

これらをざっと確認したところ、Internet Explorer 7でも、問題はないようでした。
ただ、googleマップ内のコントロール(拡大縮小コントロール等)の一部分が白い矩形のみになって、FirefoxやIE6のようにきれいに表示されませんでした。
googleのホームページでも同様なので、しばらくは仕方ないのかな。

WordPressのEasyAlテンプレートを使用したページを、Internet Explorer6で見ると、olタグ内の項目の番号がすべて1になっていました。

wp-content/themes/EasyAll/style.cssの次の部分を削除(コメントアウト)したところ、問題が解消しました。

CSS:
  1. #content div.post div.storycontent ul, #content div.post div.storycontent ol {
  2.   margin-left: 0;
  3.   padding-left: 0;
  4. }
  5.  
  6. #content div.post div.storycontent li {
  7.   margin-left: 30px;
  8.   width: 85%;
  9. }

WordPressのiG:Syntax Hiliterプラグインをインストールに投稿した「Internet Explorer6だと、行番号がすべて1」になる問題も解消しました。

この変更で、Firefox、InternetExplorer6では影響はないように見えますが、しばらく様子をみたいと思います。

追記:2007年9月24日
上記に引用したcssの部分をすべてコメントアウトせずとも、「width: 85%;」のみを削除することで、問題は解消しました。