場合は 、 エラーが発生し続けるのDIY Wordpressのハック-どのようにウルティメイトタグウォーリアータグをインポートする!
まあ、私はWordpress 2.5にアップグレードしたら、私はウルティメイトタグウォーリアーの解雇しなければならなかった。 実際に、私はウルティメイトタグウォーリアー、今日、私がすべてのURL http://zedomax.com/tag/lasersなど、私は404エラーを与えていたが判明するまでの作業だと思った。
まあ、私は、 私もダウングレードする私のお気に入りのワードプレス2.2.3は、WPを採用で致命的な障害で、その結果に戻るカテゴリーで...畜生しようとした時、古い学校の中!
だから私とは、インターネットを介して見ていた、基本的にワードプレス2.5の組み込み関数をウルティメイトタグウォーリアータグをインポートできるようにしています。
にもかかわらず、順調に進んでいる必要があります、私とは、組み込み関数は非常に基本的だったなどの問題がたくさん発生するかは、このサイトにあるものです47000タグのインポートをサポートしていない 。
私が最初の問題は、私は、次のメッセージが出て維持されました:
完了した!
13331タグを読み取るした。
内臓Postタグを読む。...
完了した!
45824タグが読み取られたの関係をポストする。
ためのタグを追加する投稿...
完了した!
0タグが追加されました!
さて、あなたのすべての最後の行までの作業を参照できますが、"よし! 0タグが追加されました!"。 私はなぜそれが動作していなかった知っているので、私も、ワードプレス2.3.1にダウングレードする激怒された鉄筋コンクリート造、他の人が働いていると言っていた。
今私がインポートしようと、私はこのエラーメッセージを手に入れた:
WordPressのデータベースエラー:[パケット'よりも大きいmax_allowed_packetの'バイトを手に入れた]
これは簡単ですが、これは単にあなたのMySQLサーバを意味大量のデータを処理するために設定されていません。
だから私はこのように、1ギガバイトは、この行を追加して、max_allowed_packetのサイズを変更した:
のset - variable = max_allowed_packetを= 1024M
(はい、1ギガと思った仕事をする必要があります...)
まあ、それは、この変更の後、私は"0"タグのメッセージが、画面には"を追加しましたを取得しないハングアップ"は、インポート画面の最後の段階で判明...
として、私は開発者がより良いハッカー以上の、 私は最終的には、WordPress自体をハックする時に決定した 。
私は、インポートphpファイルは、あなたのWordpressのブログのwp-admin/importディレクトリの下にutw.phpに見えた。
これは、インポートするプログラムは非常に多くても、プログラマでも、大量のデータのチャンクを考慮していない基本的なことが分かった。
だから、1ではなくMySQLのクエリを実行、私はこれだけ一度に100個のデータビットをフェッチが変更されました。
もしあなたが大きなタグのデータベースとの私のような問題が発生している場合、utw.phpでこのように、次の関数を変更することができます:
関数tag2post()(
/ /タグとの記事を我々は最後の2つの手順でインポートを得る
$タグ= get_option('utwimp_tags');
$投稿があります= get_option('utwimp_posts');グローバル$ wpdb;
$ = 0 startvalue;
$ = 1000 endvalue;
$ヌ= $ startvalue;$ = 0 tags_added;
($ヌ"$ endvalue)は($ = posts_query"、post_idをから"tag_idのSELECT。 $ wpdb -"の接頭辞。 "post2tag"。"LIMITを"$ヌ。"、100";
$ポスト= $ wpdb -"get_results($ posts_query);($ポスト)(場合
/ /我々の結果はNULL/ /各エントリをループ処理とは、dbへのタグを追加する
$ this_postとしてforeachの(ポスト)($ the_post =(INT)を$ this_post -"post_idを;
$ =(INT)を$ this_post -"tag_id the_tag;/ /何がidのタグの名前は?
$ the_tag = $タグ[$ the_tag;/ /ネジは、単にタグを追加しようとする
wp_add_post_tags($ the_post、$ the_tag);
$ tags_added + +;
"テンキー:"エコー$ tags_added" - "$ the_tag。"です。<br />";)
)
$ =ヌ$ヌ+100;
睡眠(0.1);
)
"マックス李http://zedomax.com yeyからハッキングされたエコー!";/ /は、すべての記事をタグに正しくリンクする必要が我々だけで出てくるすべてのエラーを係属中です!
$ tags_addedを返す;)
ダウンロード私UTW.phpここ (変更utw.phpとしてutw.txt)
今、私の推薦期間は2000年のタグをとることによって内臓の輸入は、ステップ3を実行することです。 あなたstartvalueドルの値を変更することができます$ endvalueあなたの輸入の範囲を制御する。
最後に、私はすべて私の貴重なタグで、今はタグを提案物や内臓からいくつかの他のクールなものをインストールすることができます輸入手に入れた。
フウは、Wordpressのハッキングの長い4時間でした。 私は非常にウルティメイトタグウォーリアーインポートするように、新しいワードプレス2.5の機能に感銘を受けて劇的に賢く、AJAXのプログラミングを使用することによって改善することができます。
私はWordpressの開発1000年は最大で一度にタグをフェッチして、AJAXを使ってか、画面を更新して、データベースを再度凍結を保護したり、ユーザーを再すること、設定を行い、MySQLサーバにどのようなことをお勧めします。
私ももしmax_exeution_timeのためのPHP setttings低されている、(私は10秒だった)は、このインポートプロセスとして問題になることの大きなデータベースを10秒以上かかることが分かった。
したがって、このようにetc / php.iniを/ファイルに変更:
max_execution_timeに= 90;各スクリプトの最大実行時間を秒単位で
max_input_time = 95;各スクリプトのリクエストデータの解析を過ごすことができる時間の最大量
のmemory_limit = 128Mを
次に、インポート後に元に戻すことができます。
今、私の中にタグをあなたの"大きな数"をインポートすることができる可能なすべての問題を説明しました。
とブログではほとんど、あるいは2000年のタグよりも小さい場合、デフォルトのWordpressの輸入問題ではなくすべきではない私と一緒に万タグ以上のような人にとって、これは大きな問題ですが、私を確認Wordpressの開発者は、将来的に更新する予定です。 私をチェックoutとして私が試したのWordpressのフォーラムからの助けを得るため 、私は最終的には自分で把握した。






