サポート » 使い方全般 » インポートについて

  • 解決済 mamincho

    (@mamincho)


    はじめまして。
    今使っているBlognPlusからWordPressへ移行しようと思っています。
    BlognPlusにはMovableType形式のエクスポートが出来るので
    文字コードUTF-8でエクスポートし、ファイル名を「mt-export.txt」にしました。
    それをWordPressへインポートしようとしたのですが
    次の様なエラーで出てしまいます。

    Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /virtual/aaaaa/public_html/wp-content/plugins/movabletype-importer/movabletype-importer.php on line 512

    私が利用しているサーバがXREAなので
    「XREA・CORESERVER.JP にて CGIモードで動かす場合」にかかれている方法で
    「.htaccess」ファイルを作りwp-admin/ ディレクトリに置いたのですが
    やはりエラーが出てしまいます。

    どなたか解決方法が分かる方がいらっしゃったら教えて下さい。
    よろしくお願いします。

    WordPress バージョン3.0.1
    プラグイン Movable Type and TypePad Importer バージョン0.4
    テーマはDelightというテーマを使っています。
    こちらからダウンロードしたか覚えていないのですが同じ物です。
    PHP バージョン5.2.5
    MySQL バージョン5.1.22-rc
    使用ブラウザ safari 5.0.2

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • プラグインが動作していないようですね。
    プラグインの自動アップデートやインストールは出来る状態ですか?

    まずtmpやプラグインディレクトリのパーミッションをインポートするときだけで良いので777に変更してみてください。

    .htaccessについてですが、私はXREAでWordPressを設置する際にpublic_html直下にアップロードしました。
    関係ないかもしれませんが、.htaccessの場所を変えてみてはどうでしょう。

    念のため.htacessのコードも載せておきます

    # ファイルのアップロード
    <Files async-upload.php>
    AddHandler application/x-httpd-phpcgi .php
    </Files>
    
    # プラグインの新規インストール
    <Files plugin-install.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>

    movabletype-importerというプラグインを使用した事はないのですが、エラーメッセージによるとこのプラグインの動作ファイルがセーフモードの制限にひっかかってるのだと思われます。

    おそらくこの movabletype-importer.php をCGI動作させればエラーは起きないと思いますが、記事をインポートする間だけ WordPress のルートディレクトリの .htaccess に

    AddHandler application/x-httpd-phpcgi .php

    とだけ書いて WordPress 全体をCGI動作させた方が解決が早いような気がします。

    P.S. この方法だと一部のブラウザでCSSが適用されずにダッシュボードの表示が崩れますが、記事をインポートする間だけなら特に気にする必要はありません。

    トピック投稿者 mamincho

    (@mamincho)

    auviw様
    アドバイス、ありがとうございます。

    まず、プラグインの自動アップデートやインストールについてですが
    それは出来ている状態です。
    試しに「Akismet」の自動アップデートをしてみた所、問題ありませんでした。

    そして.htaccessですがpublic_html直下にアップロードしてみました。
    しかし症状は変わりませんでした。

    Heihachiro様
    アドバイス、ありがとうございます。
    auviw様のアドバイスを試した上でHeihachiro様のアドバイスを試してみました。

    AddHandler application/x-httpd-phpcgi .php
    とだけ書いた.htaccessをpublic_html直下にアップロードしてみましたが
    やはり症状は変わりませんでした。

    wp-admin/ ディレクトリに置いてみたらどうかな?と
    public_html直下にある.htaccessを削除したところ
    (これがいけなかったのかも知れません)
    ダッシュボード自体が表示されなくなり
    404 Not Foundと出てアクセス出来ない状態になりました。

    私が書き忘れていた事で申し訳ないのですが
    今、私がやりたいインポートというのは
    マルチサイト化した子ブログの方で
    幸い親ブログのダッシュボードは問題なく表示されています。

    今は子ブログのダッシュボードを
    どうしたら表示できるようになるのか、悩んでいます・・・。

    トピック投稿者 mamincho

    (@mamincho)

    すいません。
    結局どうしたらいいのか分からなかったので
    一度、全て削除して
    新しくWordPressをインストールして設定しなおしました。

    ただ、症状は変わらずインポートをしようとすると
    今までと同じ下記のメッセージが出ます。

    Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /virtual/aaaaa/public_html/wp-content/plugins/movabletype-importer/movabletype-importer.php on line 512

    因に、今.htaccessには
    マルチサイト化する時のコードも書いてあり
    下記の様になっています。

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]

    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    # ファイルのアップロード
    <Files async-upload.php>
    AddHandler application/x-httpd-phpcgi .php
    </Files>

    # プラグインの新規インストール
    <Files plugin-install.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>

    何か分かりましたら、よろしくお願いします。

    私の方も言葉が足りませんでしたが、マルチサイト用のリライト設定はそのままにしておかないと駄目ですよ。あとサーバ上のファイルに変更を加える時には、前もってバックアップを取るようにしてください。

    私が所有している XREA のサーバアカウントにて、
    Movable Type and TypePad Importer バージョン0.4
    を使用してマルチサイトの子サイトにMT形式のデータをインポートできるか試してみました。

    結論からいうとマルチサイト用のリライト設定の他に、
    AddHandler application/x-httpd-phpcgi .php
    とだけ WordPress をインストールしたディレクトリの .htaccess に記述して WordPress全体を CGI動作させればデータがちゃんとインポートされました。

    エラーメッセージにはセーフモードが原因であると書いてあるのですから、セーフモードの制限を受けないCGI版のPHPで動かせば、理屈の上では同じエラーはおこらないはずです。念のために説明すると set_time_limit() はデータのインポート中にPHP処理のタイムアウトを防ぐためのものですが、セーフモードだとこの関数が使用できないのでエラーが起きるのです。

    つまり未だに同じエラーメッセージが表示されるのは、PHPのCGI動作に失敗しているのが原因だと思われます。しかしプラグインのインストールなどはできるようですから原因はサーバではなく、.htaccess の設定にある可能性が高いです。

    具体的には私がやったようにすればちゃんと動作すると思うのですが、.htaccess をいろいろといじっているうちに思わぬミスが生じたのではないでしょうか。ですから現状の .htaccessファイルをダウンロードしてバックアップを確保した上で、マルチサイトのリライト設定の他に、
    AddHandler application/x-httpd-phpcgi .php
    とだけ記述して、データがインポートできるかどうかもう一度試してみてください。これでインポートができないようならば、残念ながら私ではこれ以上お力になれない様に思われます。

    トピック投稿者 mamincho

    (@mamincho)

    Heihachiro様

    詳しい説明をありがとうございました。
    また、わざわざインポート出来るかどうか試して頂いた様ですみませんでした。

    マルチサイトのリライト設定の他に
    AddHandler application/x-httpd-phpcgi .php
    を書いたものをサーバにアップしたところ
    無事インポート出来る様になりました。
    半ば諦めていたので、本当に助かりました。
    ありがとうございました。

    また、このままではダッシュボードの表示が崩れていますので
    .htaccessを元(1つ前に書いてあるものです)に戻しておけば良いのでしょうか?
    質問ばかりですみません。

    また、このままではダッシュボードの表示が崩れていますので
    .htaccessを元(1つ前に書いてあるものです)に戻しておけば良いのでしょうか?

    そうですね、それで構わないと思います。

    ただ XREA での WordPress 運用にはセーフモードの問題がついて周りますので、今後のために概要を知っておいた方が良いかも知れません。

    XREAでPHPをCGIモードで動かす方法について
    http://sb.xrea.com/showthread.php?t=10744

    あと自分のサイトで恐縮ですが、こちらも読んでいただけると幸いです
    http://mage8.com/wordpress.html#safemode

    トピック投稿者 mamincho

    (@mamincho)

    Heihachiro様

    これで安心して先に進む事が出来ます。
    またHeihachiro様のサイトも、じっくり読んでみようと思っています。

    今回は本当にありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「インポートについて」には新たに返信することはできません。