インポートプラグイン導入でエラー、解決するまでの道のり

2011
9/25

さて、問題のデータインポートの話です。

 

他のサイトで使っていた WordPress のデータをXMLファイルにエクスポートして、さあインポートしようとしたら、エラー続出で・・・結局半日を費やしてしまいました。

 

私が利用しているのは coreserver なのですが、これが結構クセが強くて、色々弄らないと上手く動作しないらしいです。
また、自分が使っているのはオリジナルのwordpressではなく、xoopsのモジュールとして利用できるように改良された xpress というもの。

 

基本的には、xoops のモジュールディレクトリに作られた xpress 用ディレクトリ下に展開された wordpress の各ファイルやフォルダが、オリジナルと同じように配置されているので、wordpress のセッティングと同様の方法で行うことができるのですが、思いもよらないところで「異なる設定」があったりして、結構躓いてしまったり・・・

 

ということで、今後の参考になればと思いエントリーとして書いておくことにしました。

 

 

1 インポート・プラグインを導入しようとしたら、FTP接続情報を求められてしまった

 

ネットで調べてみると、どうやら、apacheが作成したディレクトリに対して、wordpressがフォルダやファイル作成する権限がないために、FTP接続情報設定が求められているらしいです。

こちら http://d.hatena.ne.jp/rubellum/20110124/1295884096 を参考にして、wp-config.phpに次の記述を追加してみました。

 

define(‘FS_METHOD’, ‘direct’);

 

しかし、上手くいかない。

 

 

2 動作に必要なPHPファイルをCGIモードに変更

 

Coreserverの場合、PHPがセーフモードとのことで、これをCGIモードにしないと上手く動作しないらしい。

ということで、こちら http://sb.xrea.com/showthread.php?t=14149 などを参考に、.htaccessに次のような記述を行ってwp-adminディレクトリにアップロードしてみました。

 

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

<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files plugin-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files theme-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files plugins.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files theme-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files themes.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files admin.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

# protect wp-config.php
<Files wp-config.php>
Order deny,allow
deny from all
</Files>

 

最後の行は、wp-config.php にアクセス制限をかけてセキュリティを向上させる設定とのこと。

 

これで、プラグインのインストールができるようになりました。
でも、インポートしようとすると、またまたエラーが出てしまいました。

 

 

3 uploads ディレクトリの作成とパーミッション設定

 

ネットを見ると、wp-content 下に uploads というフォルダ(ディレクトリ)を作成、書き込み権限を与えて、改めてインポートしたら成功するという書き込みがありました。

 

http://d.hatena.ne.jp/mxz/20100918/1284796185

 

・・・が、xoops版wordpressである xpress の場合はそこにフォルダを作成してもエラーが出るんです。
何回やっても成功しないので、ふと思いついて、xoops のアップロードディレクトリ配下にxpress用のアップロードディレクトリを作成してみました。

 

サイトルート/uploads/wp-content/uploads/

 

そして、パーミッションを777に変更すると、アップロード可能な画面になりました。

 

さあ、もう大丈夫と思ってインポート用のファイルを読み込んでみると、次の画面のようにまたエラー。困りました。

 

ちなみに、FTPで確認すると、ファイルそのものはアップロードされているようです。

 

 

4 .htaccess に記述を追加

 

.htaccess に次の記述を加えたところ

<Files admin.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

次のようなエラー表示に変わりました。

Import WordPress
*** glibc detected *** malloc(): memory corruption: 0x0882fb18 ***

 

 

5 メモリーの確保不足?

 

とりあえず、ネットで調べるとメモリーの確保不足というのがあったので、php.iniに次の記述をして、wp-admin に配置してみた。

 

post_max_size = 50M
max_execution_time = 300
max_input_time = 600
memory_limit = 100M

 

でも、上手くいかない・・・

 

 

6 インポート用プラグインのバージョンを下げる

 

で、ネットを色々と調べてみると、結局、インポート用のプラグインのバージョンを下げると上手くいくという情報があり、試してみました。

 

http://downloads.wordpress.org/plugin/wordpress-importer.0.2.zip

 

こちらから、ダウンロードして、最新の0.5から0.2に変更してみたところ、なんとかインポートが出来ました。あ~しんど。

 

コメント一覧

投稿ツリー


'nouphet'   投稿日時 2011/12/10 3:20

まりんさん、お疲れ様です!

かなりいろいろ試して成功されてますね!
その気迫がすごくて尊敬です。

marine  投稿日時 2011/12/10 15:49

コメントありがとうございます。
このところ、XOOPS界隈の動きがあって、発展する雰囲気の中で動けているのが嬉しいですね。

さち   投稿日時 2013/4/28 5:33

こんばんは。
私もどうしてインポートできないのかと散々悩みましたところこちらのサイトを探り当てました。
プラグインのバージョンを下げればいいだなんてもう、ひどいですね。
うまくいきましたありがとうございました。

marine  投稿日時 2013/4/30 23:01

さちさん、こんばんわ。

ホント、プラグインのバージョンが新しいとダメなんて、困ったものですね。
開発をされる方たちは、どうしても前しか向いていないので、肝心のユーザーのことを忘れがちなのかもしれません。

まあ、難しいとは思いますけど・・・

助かりました!   投稿日時 2013/11/10 9:50

助かりました!



新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ