「WordPress」カテゴリーアーカイブ

wp-content ディレクトリが見つかりません

WordPress 3.3.1で

wp-content ディレクトリが見つかりません。 (日本語版)
Unable to locate WordPress Content directory (wp-content). (英語版)

というエラーメッセージがプラグインの更新で出るようになりました。以前はエラーは出てなかったのですが、最近バージョン 3.3.1にアップグレードして以降こうなったような気がします。

調べてみたところ、一番簡単な解決方法は ./wp-config.php に

define (‘FS_METHOD’, ‘direct’);

を追加することと、./wp-content ディレクトリ以下をapacheのユーザー権限に変更してしまうことでした。

# chown -R www wp-content

これでアップデートの際にftp/sftpの情報なしに直接アップデートしてくれるようになりました。

参考URL:
WordPress Upgrade Constants
http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

  • FS_METHOD forces the filesystem method. It should only be “direct”, “ssh2”, “ftpext”, or “ftpsockets”. Generally, You should only change this if you are experiencing update problems, If you change it, and it doesnt help change it back/remove it, Under most circumstances, setting it to ‘ftpsockets’ will work if the automatically chosen method does not.
    • (Primary Preference) “direct” forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
    • (Secondary Preference) “ssh2” is to force the usage of the SSH PHP Extension if installed
    • (3rd Preference) “ftpext” is to force the usage of the FTP PHP Extension for FTP Access, and finally
    • (4th Preference) “ftpsockets” utilises the PHP Sockets Class for FTP Access.

 

WordPress 3.3.1

年末にWordPress3.3へのアップデートを済ませたところが、今日になって3.3.1がリリースされました。えらい短期間に行われたアップデートですが、内容的には「クロスサイトスクリプティングの脆弱性も修正」とあるのでさっさと入れた方が良いと思いアップデートしました。とりあえず問題はなさそうです。

WordPress 3.3.1 セキュリティおよびメンテナンスリリース

wp-includes/query.php array line 2390

Warning: explode() expects parameter 2 to be string, array given in /xxx…..xxxx/wp-includes/query.php on line 2390

WordPressを3.1.3に上げたら何かこんなエラーが出るようになりました。

丁度サーバーの引越しをしたタイミングだったので何かヘマをしたのかと思いましたがどうやらバグらしいです。

ソースをハックしたりする方法もあるようですが、次の3.1.4を待つか(非公式)Hotfixを当てるかが解決方法になるようです。

(非公式)Hotfixはプラグインになって提供されています。

Hotfix
http://wordpress.org/extend/plugins/hotfix/

プラグインの新規追加で “hotfix” で検索すれば同じものが見つかるのでそこから「いますぐインストール」でOKです。

以下、参考URL

[UPDATE Error]wp-includes/query.php array line 2390 (22 posts)
http://wordpress.org/support/topic/update-errorwp-includesqueryphp-array-line-2390
[resolved] Error message when i click on media in admin (25 posts)
http://wordpress.org/support/topic/error-message-when-i-click-on-media-in-admin

 

WordPress を自動アップグレード(3.0)

WordPressを3.0にアップグレードしました。
ちょっと前から「3.0が出たのでアップグレードできるよー」というメッセージがダッシュボードに出てたのに気付いていましたが、2.xからのアップになるのでしばらく様子を見つつ実験用のサイトから順にアップしていきました。心配とは裏腹に特に問題もなくアップグレードできました。3.0って「セロニアス(Thelonious)」と言うんですね。私的には「WordPress と WordPress MU の統合」というのが嬉しいかも。

WordPress 3.0 日本語版リリースのお知らせ

WordPress を自動アップグレード(2.8.4)

2.8.3が出てたのは知っていたのですが何となく過ごしていたらまたいつの間にかWordPress 2.8.4 日本語版が出てました。こういう自動アップグレードはうまく動き出すとやはり便利でいいですね。

以下は、一応coreserverで自動アップデートできるようにするためのおまじないのメモです。

  • /(ユーザールート)に /tmp ディレクトリを作成
  • WordPressの /wp-admin ディレクトリに以下の内容の .htaccess ファイル作成
AddHandler application/x-httpd-phpcgi php
AddHandler application/x-httpd-phpcgi php
AddHandler application/x-httpd-phpcgi php
AddHandler application/x-httpd-phpcgi php

以上

WordPress を自動アップグレード(2.8)

久しぶりにブログの管理画面に入ったら2.8のアップデートがあるという表示が出ていたので何も考えずに自動更新してからwordpressのサイトに行ってみたら、

2.8への自動アップグレードを行う際の注意事項
2009 年 6 月 13 日, odyssey

先日リリースしました WordPress 2.8 への自動アップグレードの際に、サーバー上のファイルが削除される現象が報告されています。報告によると、この問題が発生した場合にはサーバー上の WordPress 以外のファイルも削除されるとのことです。
2.8 にバグがあることが確認されました。このバグが修正されるまでは自動アップグレードは行わず、手動によるアップグレードを行ってください。

なんて事が書いてあるじゃないですか。
今のところファイルが削除されてしまったという現象は起きていないみたいですが、勘弁してくださいよ。せめてこういう場合は自動更新させないようにするとかできないものなのでしょうか?

WordPress を自動アップグレード(2.7.1日本語版)

再び、「WordPress 2.7.1 が利用可能です ! アップデートしてください。」という表示が管理画面で出てきました。

先日の2.7.1のアップデートの表示とまったく同じですが日本語版2.7.1がリリースされたようです。ここは「日本語版」の表示が欲しいところですね。

前回同様、「アップデートしてください」のリンクをクリックすると、

WordPress をアップグレード

重要: アップグレードの前に、データベースとファイルをバックアップしてください。
新しいバージョンの WordPress にアップグレードが可能です

バージョン 2.7.1–ja に自動アップグレードするか、パッケージを手動でダウンロードしてインストールすることができます。

[自動アップグレードを実行] [2.7.1–ja をダウンロード] [この変更を非表示にする]

「自動アップグレードを実行」をクリックすると接続情報の入力画面。

接続情報

要求された操作を実行するためには、接続情報が必要です。
ホスト名
ユーザー名
パスワード

接続形式  (●)FTP
( )FTPS (SSL)

[開始]

ftp接続を選び、ftpのホスト、ユーザー、パスワードを入力して「開始」をクリック。

WordPress をアップグレード

http://ja.wordpress.org/wordpress-2.7.1-ja.zip からアップデートをダウンロードしています

ダウンロードに失敗しました。: name lookup timed out

インストール失敗

何故か失敗します。名前を引けなかったにたいです。念のためもう一度試してみると、

WordPress をアップグレード

http://ja.wordpress.org/wordpress-2.7.1-ja.zip からアップデートをダウンロードしています

コアパッケージの更新ファイルを展開しています…

展開したファイルをチェックしています…

最新のバージョンをインストールしています

データベースをアップグレード

WordPress のアップグレードを完了しました。

めでたくアップグレードに成功しました。

追記:

英語版でアップグレードしないで日本語版のアップグレードがリリースされたら下記のように両方が選択肢になって表示されます。

WordPress をアップグレード

重要: アップグレードの前に、データベースとファイルをバックアップしてください。
新しいバージョンの WordPress にアップグレードが可能です

バージョン 2.7.1–ja に自動アップグレードするか、パッケージを手動でダウンロードしてインストールすることができます。

[自動アップグレードを実行] [2.7.1–ja をダウンロード] [この変更を非表示にする]

バージョン 2.7.1 に自動アップグレードするか、パッケージを手動でダウンロードしてインストールすることができます。

[自動アップグレードを実行] [2.7.1をダウンロード] [この変更を非表示にする]

WordPress を自動アップグレード(2.7.1)

WordPress 2.7.1 が利用可能です ! アップデートしてください。」という表示が出てきました。

「アップデートしてください」のリンクをクリックすると、

WordPress をアップグレード

重要: アップグレードの前に、データベースとファイルをバックアップしてください。
新しいバージョンの WordPress にアップグレードが可能です

*バージョン 2.7.1 に自動アップグレードするか、パッケージを手動でダウンロードしてインストールすることができます。

[自動アップグレードを実行]      [ 2.7.1 をダウンロード]

「自動アップグレードを実行」をクリックすると接続情報の入力画面。

接続情報

要求された操作を実行するためには、接続情報が必要です。
ホスト名
ユーザー名
パスワード

接続形式  (●) FTP
(○)FTPS (SSL)

[開始]

ftp接続を選び、ftpのホスト、ユーザー、パスワードを入力して「開始」をクリック。

WordPress をアップグレード
http://wordpress.org/wordpress-2.7.1.zip からアップデートをダウンロードしています
コアパッケージの更新ファイルを展開しています…
展開したファイルをチェックしています…
最新のバージョンをインストールしています
データベースをアップグレード
WordPress のアップグレードを完了しました。

であっさりと完了。日本語版の扱いはどうなっているんだろう?もう少し待てば日本語版がリリースされたら自動アップグレードできるようになるんだろうか?どうするのがベストなのでしょうね。とりあえず問題なく動いているみたいですけど。

追記:

WordPress 2.7 日本語版リリースのお知らせ

2.7 英語版へすでにアップグレードを済ませたにも関わらず更新のお知らせが管理画面に表示されている場合、自動アップグレード機能を使って 2.7 日本語版に更新する事ができます。ツール>アップグレードのパネルで、「2.7–ja をダウンロード」というボタンの左にある「自動アップグレードを実行」ボタンをクリックすれば、日本語版の最新ファイルへアップグレードされます。

これによると最新の日本語版が出れば自動アップグレードはできるみたいです。

WordPress Upload系小技

WordPressをCoreserverで利用していますが、upload系の操作で色々と不都合があって小技が必要です。

1.単にuploadするとsafeモード関係のエラーが出る。

対策1.事前に必要なディレクトリを作成しておく。

・/wp-contents/upload 以下にあらかじめ年月のディレクトリを作成しておく

・ドキュメントルート下に /tmpディレクトリを707のパーミッションで作成しておいて/wp-config.phpに下記修正を入れる。

define (‘WPLANG’, ‘ja’);←このすぐ下に
define (‘WP_TEMP_DIR’, ‘/virtual/[coreserverアカウント名]/tmp/’);

*参考URL wordpress2.6.1に(問題発生)

対策2.phpをCGIモードで動かすようにする。

coreserverの場合は以下の内容の.htaccessファイルを/wp-admin/ ディレクトリに置く。

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>

“async-upload.php”の部分は適宜”upload.php”だったり必要に応じて.htaccessに書き足す。

*参考URL http://wpdocs.sourceforge.jp/セーフモードによる制限と対処方法
XREA で WordPress ファイルアップロード機能を利用する

2. Flexible Uploadを使おうとするとエラーが出る。

Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘media_admin_css’ was given in /virtual/****/****/****/wp-includes/plugin.php on line 339

対策 以下のコードを、flexible-upload-wp25.phpに追加

function media_admin_css() {
wp_admin_css(‘css/media’);
}

参考URL WordPress2.6のFlexible upload 1.13不具合解消

これはWordPress 2.7の環境でも効果がありました。