方法:WordPressインストールを開発から本番に簡単に移動しますか?


199

私は1つのボックスで開発を行い、2番目のボックスを生産に使用します。現時点では、データベースをダンプしてから、URLの変更の検索を行います。次に、ファイルをコピーして、新しいSQLをインポートします。

これを行うより良い方法はありますか?


2
質問への新規参入者のために。1年後、私はまだ@MikeSchinkelプラグインを使用しています。彼は0.7を持っているので、私は問題なくインストールをいくつか移動しました。mikeschinkel.com/downloads/wp-migrate-webhosts-0.7.zip
ライアンギボンズ

これは、私のプロセスを非常に助けてくれたプラグインなしのスクリプトです。philipdowner.com/2012/01/...
フィリップ・ダウナー


6
今日、Duplicatorというプラグインがあります:wordpress.org/extend/plugins/duplicatorこれは文字通り3段階のプロセスであり、魅力のように機能します。これをすでに複数回使用して、テスト環境からライブWebサイトにWebサイトを展開しました。
マティアス

回答:


122

@ Insanity5902:あるボックスから別のボックスへのWordPressサイトの展開は、WordPressを使い始めた初日からPITAでした。(真実は、WordPressを使い始める前に2年間Drupalを使ったPITAだったので、問題はWordPressだけではありません。)

サイトを移動する必要があるたびに、多くの場合、重複した努力を費やさなければならず、希望する頻度でテストにデプロイすることを妨げました。だから4-6ヶ月前にウェブホスト移行の問題を解決するプラグインに取り組み始め、WP Tavernフォーラムで自分のアイデアに言及しました

今日に早送りして、私はそれをほとんどうまく動かしました、そして、私はそれを便利に「WP Migrate Webhosts」と呼びます。プラグインはまだ非常にベータ版(おそらくアルファ版)ですが、あなたの質問を考えれば、人々がそれを強打し始める準備ができていると思います。

想定されるユースケースは次のとおりです。

  1. 開発者はまず、変更されたすべてのテーマとプラグインファイルをFTP経由でアップロードし、
  2. 次に、開発MySQLデータベースをテストサーバーに完全にアップロードし、最後に
  3. 次に、プラグインを実行して、以前のドメインからの参照を新しいドメインに移行します。(私のプラグインがないではない生のデータを新しいデータベースフィールドやテーブルのマージを解決しようとすると、それは私が解決するかどうかはわかりませんはるかに大きな問題です。)

私のウェブサイトからプラグインダウンロードして、プラグインディレクトリに解凍できます(これを行う方法がわからない場合、このプラグインは使用するために何をしているかを知っている人を必要とするため、あなたには向いていません)。このプラグインをWordPress.orgにリリースするまでオンラインのままにしてください。その後、そこでプラグインを探す必要があります。

これを使用するには、あなたの中に異なるアプローチを取るwp-config.phpコメントアウトすることにより、その通常の4(4)を定義しDB_NAMEDB_USERDB_PASSWORDDB_HOSTし、代わりに登録するウェブホストのデフォルトをして、各ウェブホスト自体に関する情報を登録します。そのセグメントはwp-config.php次のようになります(最初のセクションは不要なコードがコメント化されていることに注意してください.dev。また、日々の開発を容易にするために、ルーティングできないトップレベルドメインを使用してローカルマシンにホストファイルを設定しています。 Macでは、VirtualHostXがこれを簡単にします):

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
//define('DB_NAME', 'wp30');

/** MySQL database username */
//define('DB_USER', 'wp30_anon');

/** MySQL database password */
//define('DB_PASSWORD', '12345');

/** MySQL hostname */
//define('DB_HOST', '127.0.0.1:3306');

require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/wp-webhosts.php');
register_webhost_defaults(array(
 'database'  => 'example_db',
 'user'      => 'example_user',
 'password'  => '12345',
 'host'      => 'localhost',
 'sitepath'  => '',        // '' if WordPress is installed in the root
));
register_webhost('dev',array(
 'name'      => 'Example Local Development',
 'host'      => '127.0.0.1:3306',
 'domain'    => 'example.dev',
 'rootdir'   => '/Users/mikeschinkel/Sites/example/trunk',
));
register_webhost('test',array(
 'name'      => 'Example Test Server',
 'rootdir'   => '/home/example/public_html/test',
 'domain'    => 'test.example.com',
));
register_webhost('stage',array(
 'name'      => 'Example Staging Server',
 'rootdir'   => '/home/example/public_html/stage',
 'domain'    => 'stage.example.com',
));
register_webhost('live',array(
 'name'      => 'Example Live Site',
 'rootdir'   => '/home/example/public_html/',
 'password'  => '%asd59kar12*fr',
 'domain'    => 'www.example.com',
));
require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/set-webhost.php');

うまくいけば、これは(ほとんど)自明です。コードをできる限りきれいにしようとしましたが、残念ながら、WordPress が呼び出される前require_once()に「フック」する方法がなかったため、ウェブホスト登録コードのブロックの前後に2つの不可解な行が必要wp-config.phpです。

更新したらwp-config.php、URLショートカットwp-migrate-webhostsを使用して、次のように管理画面に移動できます。

http://example.com/wp-migrate-webhosts

上記の説明テキストの公平なビットを持っており、あなたが移行することができます、次のような管理画面が表示されますFROM(から移行するドメインを選択した後、シングルクリックで他のウェブホストドメインのいずれか:この例では、予定を示しDOWN地域開発が、残りのテスト/ステージ/ライブサーバから、それは移行でき安心TO配置されるように起こるすべてのドメイン。また、これは意味プラグインは、既存のライブサイトを取り、迅速にローカルの開発環境ワーキングを取得するための素晴らしいことでしょう!):

ここに画像の説明を入力してください

明確でない場合、このコンテキストでの「移行」は、現在定義されているウェブホストに適切なように現在のデータベース内のすべての参照を更新することを意味します(そして「現在」は検査によって探知され$_SERVER['SERVER_NAME']ます)

プラグインの素晴らしい点は、いくつかの基本的な移行を実装することですが、誰でもそれをフックして独自の移行を実行できます。あなたは、データベース内の画像への完全なパスを格納し、ギャラリーのプラグインを追加した場合たとえば、あなたはフックができmigrate_webhosts、「渡されるアクションから」ウェブホストをして「のメタデータの配列として、それぞれを」ウェブホストを、あなたが許可されますSQLまたは適切なWordPress API関数を使用して移行を行うために、データベースで必要なことをすべて実行します。はい、私たちの誰もがプラグインなしでこれを行うことができますが、プラグインなしでは、必要なすべてのコードを書くことはそれが価値がある以上の努力であることがわかりました。プラグインを使用すると、これらの小さなフックを作成して、簡単に処理できます。

また、テストしていないエッジケースで移行が失敗する場合があります。プラグインの改善にご協力いただけますか。Gmailアカウント経由でメールを送信したい人は誰でも(エイリアスは「mikeschinkel」です)

また、プラグインは、それは次のように認識したものに加えて、ユーザー定義のウェブホストのメタデータを受け入れるように設計されたdatabaseuserpasswordhostdomain完璧な例があるかもしれないなどgooglemaps_apikey、あなたがそのあなたのGoogleマップのプラグインのニーズドメインごとに異なるAPIキーを格納できる場所(Google Mapsプラグインを使用したことがある人がアプリをライブサーバーにデプロイせず、コードを正しいAPIキーに変更するのを忘れていませんか?正直言って...)googlemaps_apikeyあなたのregister_webhostの要素()アレイと、小さなカスタムmigrate_webhostsあなたが効果的に懸念としてそれを排除することができますフック!

まあそれはそれについてです。@ Insanity5902の質問がトリガーになったため、ここでこのプラグインをWordPress AnswerのExchangeで起動しています。役立つかどうかをお知らせください。適切な場合はこちら、そうでない場合はメールでお問い合わせください。

PSこれを使用することにした場合、それはアルファ/ベータであることを覚えておいてください。つまり、今すぐ使用したい場合はマイナーな手術の準備ができているので、多くの手で叩かれたらリリースされたバージョンを使用してください。

PPSこれでの私の目標は何ですか?誰もがアクセスできるように、これがWordPressコアに移行するのを楽しみにしています。しかし、それが考慮される前に、多くの人々がそれを実際にそれが潜在的に作成することができるより多くの問題を解決することを確実にするためにそれを使用することに興味を持たなければなりません。そのため、このアイデアが気に入った場合は、ぜひそれを使用して、WordPressコアに最終的に希望を持たせるためのモメンタムを獲得してください。


いくつかの質問がありますが、1)管理領域に入るためにWP_SITEURLを定義する必要がありますか?2)ツールは管理者ユーザーのみに表示されますか?(ツールセクションが非管理者用に表示されるかどうかわからない)
ライアンギボンズ

こんにちは、@ Insanity5902:1)WP_SITEURLを設定する必要はありません。プラグインが自動的に行います。実際には、ウェブホストの「ドメイン」と「サイトパス」を「登録」するときに設定します。通常のWordPress操作では、コードまたはデータベースでWP_SITEURLを設定して、URLをスプーフィングしないようにし、$ _ SERVER ['SERVER_NAME']の予期しない値のために悪意のあることをしないようにする必要があります。WP Migrate Websitesプラグインは、$ _ SERVER ['SERVER_NAME']に基づいて間接的にWP_SITEURLを設定しますが、現在のドメインがwp-config.phpファイルで定義したドメインのいずれかと一致する場合にのみ設定します。
MikeSchinkel

2.)私が述べたURLショートカットは実際に管理コンソールへのリダイレクトを行うため、管理者にログインしているユーザーのみが対象となります。ただし、管理者専用のチェックはまだ組み込まれていません。プラグインに機能を追加したことはありませんが、今後数週間で完全に調査する必要がありますので、来月中に機能することができます。ただし、プラグインは破壊的ではありません。現在のドメインにのみ移行でき、プロセスは繰り返し可能であるため、管理者以外のユーザーが参加しても実際には害はありません。少なくとも、私は想像できません。
MikeSchinkel

1
/ wp-migrate-webhostsは404を生成し、/ wp-adminは「データベース接続の確立エラー」を生成します
Steve

5
それで、このプラグインの状況はどうですか?それは強力な魅力に見えますが、私は成熟した、よく吟味された何かが欲しいです。この投稿は、私が見つけることができる唯一の情報です。
ケビンC.

35

可能な場合、私は設定WP_HOMEしてWP_SITEURLの中でwp-config.php。これは、データベースのダンプとインポートと組み合わせて、私が精通しているすべてのソリューションの中で最も単純です。

http://codex.wordpress.org/Changing_The_Site_URL#Edit_wp-config.php


1
これらを設定できないのはいつですか?これは、データベース内のものを変更するよりも少し簡単に聞こえます。
jfklein

2
@jfkleinほとんどの場合、これらの定数と互換性のないWordPressネットワークで作業しています。
アニカバックストローム

1
同じことをします。残念ながら、すべてのテーマがこれを尊重しているわけではありません。すなわち、ThemeIDからの「応答テーマ」。' localhost '(またはローカル名を選択したもの)のダンプ/すべてのテーブル、特にwp_optionsを検索し、検索と置換を行うことはしばしば避けられません。
フランクノッケ

@FranKee ほとんどのテーマとプラグインをカバーするwp_optionsテーブルを更新する定数を使用するプラグインwordpress.org/plugins/pitta-migrationを作成しました
-icc97

@ icc97:素敵。それを見ます。PS:素敵なヘッダー画像、状況を描いています。
フランクノック

27

私のお気に入りのハック。設定をに追加/etc/hostsして、本番ドメインがマシン上の開発ボックスを指すようにします。本番環境にデプロイするには、すべてのファイルをrsyncし、データベースをプッシュします。

この戦略のリスクは明らかです。開発環境と運用環境を混同する可能性があります。

それでも簡単に修正できます。


5
はい!私がそのことを考えた唯一の人ではなかったことがとてもうれしいです!devとprodの違いはすべて悪いです。その違いを完全に取り除くことは、それを回避しようとするよりもはるかに優れています。そして、このセットアップはまったく作業を必要としません。必要に応じて、modded hostsファイルを使用して仮想マシンでテストを行うこともできます。
アレクサンダーバード

2
私はこの方法が大好きですが、データベースのプッシュ/プルをどのように処理しますか?
ネノトレップ

devとprodを混同するリスクについては、WebページのIPアドレスを表示するChromeプラグインを使用します。127.0.0.1
kosinix

9

数か月前にWPに移行したときに似たようなものが欲しかったので、sshでrsyncとmysqldumpを使用する非常にシンプルなシェルスクリプトを作成しました。

http://snarfed.org/sync_wordpress

洗練されたものでもウェブベースのものでもありませんが、満足しています。


8

WP Engineは、「ワンクリックステージング」を提供する新しいサービスです。

WPEngineには、「ステージング」と呼ばれる独自の機能があります。仕組みは次のとおりです。ブログに恐ろしい変更を加える前に、「スナップショット」ボタンをクリックします。ブログの完全なコピーを作成し、別の安全な場所に設定します。好きなもので遊ぶことができます。ライブはありません。ライブサイトを公開する準備ができた場合にのみ、メインサイトにアクセスします。

特にすでに稼働しているサイトでは、開発から本番にすばやく移行するための非常に簡単な方法のように見えます。


3
それは確かに非常に素晴らしいオプションであり、多くの人々にとって素晴らしいでしょう!もちろん、埋め込みURLに対しては機能しません。また、ローカル開発者がデバッガーでIDEを使用できるようにする場合にも役立ちません。WPEngineがローカルデプロイもマージするインタラクションを作成できる場合、それは本当に何かになります(テクノ
セーラー

同意した、それは素晴らしい追加だろう。
トラビスノースカット

スナップショット機能、本番からステージングにのみコピーし、その逆は行いません。変更のテストには最適ですが、実稼働環境への展開には役立ちません。
サム

2
実際、@ samは、ステージングから実稼働環境にコピーする機能のロールアウトを開始しました。wpengine.com/2013/04/user-portal-v2-and-staging-to-production
トラビスノースカット

7

Duplicator Plugin: 私が取り組んでいるプラグインは次のとおりです。現在ベータ版ですが、ほとんどのサイトで仕事が完了しています。現在、小規模なWordPressインストールを対象としています。 http://wordpress.org/extend/plugins/duplicator/

リソース: プラグインの追加リソースは、http//lifeinthegrid.com/duplicator/にあります。

コミュニティ: あなたの成功またはあなたが遭遇するかもしれない問題について私たちに知らせてください!さまざまなスレッドをより簡単に管理するために、WordPress.orgプラグインフォーラムに問題を投稿してください。プラグインのログデータをオンラインフォーラムに投稿しないでください。ロギングデータは、サポートサイトに送信できます。


6

BackUpBuddyと呼ばれるiThemesの製品をご覧ください。私はそれを2回だけ使用しましたが、そのたびに1つか2つの問題がありましたが、全体的には有望に見えます。


5

私は個人的に呼ばれ、GitHubの上の私のプロジェクトでこの問題に対処していますAutopress。完璧な解決策はまだありませんが、特にwpengineのwpstageプラグインを使って、近づいています。


スクリプトをチェックアウトしました。いいね わかっていれば、サーバーに新しいWPをインストールします。ここでの質問は、開発から本番への移行方法です。それで助けてもらえますか?
10

17
これでしょうか?github.com/vluther/Autopress回答にリンクを作成して、ユーザーがすぐにクリックできるようにすることをお勧めします。
artlung

4
@マイク・リー:はい、コメントに投票できます。参照してください、私はartlungのコメントを支持しました。コメントの左にカーソルを合わせて上矢印を探します。
-MikeSchinkel

私はすべてをバージョン管理する方法に取り組んでおり、開発者から本番にプッシュしています。すでにいくつかのサイトで問題なくそれを行うことができましたが、まだ対処する必要があるいくつかの微調整があります。
ヴィッドルーサー

1
これかどうかはわかりませんが、ホスト間のサイト移行に使用されるWP Engineプラグインがあります。スナップショットDirect link)と呼ばれます。
ジョエルハウス

5

これは有望に見えます。私たちは、いくつかのデータの移行を処理するスクリプトに取り組んでいます。たとえば、dbのパスの変更、メディアのコピーなど、wp-optionsです。

私が抱えている問題は、ライブサイトが成長し続けている間、他のサイトが開発中であるということです。私たちが取り組んでいるサイトには、1日に20の投稿があり、1日あたり3,000を超えるコメントがあります。phpmyadminまたはコマンドラインを使用して移動するには、データが多すぎます。また、データを移動すると、何らかの理由で常にUTF問題が発生します。

また、メニューオプションがDBに格納されているようになったので、さらに対処する必要があります。

すべてのコードをSVNにチェックインし、サーバー(Beanstalk)からFTP経由でコードをデプロイします。ただし、これによってDBが変更されたり、新しいプラグインがアクティブになったりすることはありません。

私の現在の計画は、ライブサイトに対するすべての変更を行うために開発中にマニフェストファイルを作成することです。

たとえば、ファイルには人間が読める行があります

有効にするプラグイン、移動するwpオプション、移動する画像、移動するページが含まれます。次に、プラグインがマニフェストファイルを検出し、ステージングサイトにすべての変更を加えます。

それをテストし、すべてを手に入れたと確信したら、それが実稼働で動作することを確信できました。

このプラグインはまだアイデアにすぎませんが、いくつかのコードが書かれています。

また、DB内のURLのみを変更する場合は、次のSQLを使用できます。

$old$古いドメインと$new$新しいドメインを置き換えるだけです

update wp_postmeta set meta_value = replace(meta_value, '$old$' , '$new$') ;
update wp_posts set post_content = replace(post_content, '$old$' , '$new$') ;
update wp_options set option_value = replace(option_value, '$old$' , '$new$') ;

2
ちょっと注意してください、私のsql呼び出しはシリアル化されたデータを破壊するかもしれません。s:14:blogs.prod.comの長さは14としてエンコードされています。コードの実行後、s:14:dev.prod.comが破損しています。s:12:dev.prod.comは慎重に使用する必要があります。
アンドリュー


3

Subversionのエクスポートコマンドを使用して、WordPressファイル(http://core.svn.wordpress.org/tags//)とリポジトリ内のすべてのプラグイン(http://plugins.svn.wordpress.org//tags)をインストールします。 //)、テーマとカスタムプラグインを圧縮して通常どおりインストールします。すべてがコンテンツなしで実行されると、テストDBをエクスポートし、URLとファイルパス(メディア用に保存)の検索/置換を実行して空のデータベースにインポートし、wp-configでデータベース情報を切り替えるだけです。 .php。通常、約10〜20分かかります。


3

通常、phpMyadminにログインしてデータベースをアップロードし、wp_options> siteurlおよびwp_options> homeの内容を予想されるドメインに編集します。投稿やページコンテンツ内のURLを更新する必要がある場合は、アップロードの前に.SQLファイルのURLとメディア/アップロードパスの検索/置換を実行できます。簡単な仕事です。


3

ここには良い解決策が不足しているわけではありませんが、共有の精神で、私は自分のbashデプロイスクリプトを山に追加すると思いました:https : //github.com/jplew/SyncDB

SyncDBは、Wordpressサイトのローカルバージョンとリモートバージョンの同期から退屈をなくすためのbashデプロイスクリプトです。ローカル環境(MAMPなど)で作業している開発者は、1つのターミナルコマンドを使用して、本番サーバーとの間で変更を迅速に「プッシュ」または「プル」できます。

このスクリプトは、Mark JaquithのWP-Skeleton、ハーネスmysqldumpgitおよびrsyncサイト全体(データベース、コード、メディア)を2つの簡単なステップで同期するのに適しています。

./syncdb
git push hub master

3

私はhttp://wordpress.org/plugins/wp-clone-by-wp-academy/を使用しています。うまくいきます!

わずか3ステップ:

  1. 両方のサイトにプラグインをインストールします。
  2. プラグインを使用して、古いサイトでバックアップを生成します。
  3. それが提供するバックアップURLを取得し、それを新しいサイトのプラグインページにプラグインして、「Go」を押すと、数秒で移行が完了します。

シリアル化された文字列置換を含むすべてのURLを自動的に調整するため、ウィジェットの構成などを失うリスクはありません。

私が経験した唯一の問題は、より大きなデータベース(〜300MB)を備えたいくつかのWebサイトで、サイトバックアップのインポート中にPHPスクリプトの実行タイムアウトが発生したことです。


3

2017年の時点で、開発から本番へのWordPressデータベースの転送を処理するために見つけた2つの最良の方法があります。

WP Migrate DB Pro / WP Sync DB

https://wordpress.org/plugins/wp-migrate-db/

これらのWordPressプラグインを使用すると、WordPressインストール間でデータベーステーブルをプッシュ、プル、および同期できます。これは、次の理由により、多くの理由で検索/置換よりもはるかに優れています。

  • データベースをMySQLデータダンプとしてエクスポートします(phpMyAdminと同様)。
  • URLとファイルパスを検索して置換します
  • シリアル化されたデータを処理します
  • SQLファイルとしてコンピューターに保存できます。

私は自分の仕事の代金を支払われるのが好きなので、ブラッド・トゥエスナード氏を支援し、本物のライセンスコピーを購入することをお勧めします。WP Sync DBはレプリケートであり、結果として常にサポートが遅れています。このプラグインを使用すると、プロセスは非常に簡単です。

  1. ローカルホストおよび本番環境でプラグインをインストール/アクティブ化します
  2. localhost /開発サーバーから本番へのプッシュ転送を構成します
  3. 転送するテーブルのルールを入力し、実行する検索および置換ルールを定義します
  4. それでおしまい!

InterconnectITによるWordPressデータベースのデータベース検索と置換

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

この無料のツールはプラグインではありませんが、WordPressのプロダクションインストールのルートディレクトリにインストールされます。これはWP Migrate DB Proほど良いものではありませんが、それはいくつかの手動ステップを必要としますが、それでも一貫して機能する素晴らしいオプションです。このアプローチを使用する場合、プロセスは次のようになります。

  1. ローカルデータベースをバックアップします。すぐに再インポートするため、これは絶対に必要です。
  2. スクリプトをインストールルートディレクトリ内のフォルダーに追加します
  3. データベースで検索と置換を実行します
  4. データベースをエクスポートして、実稼働環境用に保存します
  5. 手順1からバックアップを再インポートして、ローカルホストを復元します
  6. 本番データベースに接続してバックアップします(これらの作業を行う前に常に行う必要があります)
  7. ステップ4の検索/置換ルーチンの実行後に作成したエクスポートをインポートします

より高速なアプローチを使用することもできますが、実稼働サイトのダウンタイムが発生するため、私には受け入れられません。それがプロダクションと呼ばれる理由ですよね?


1

IISでサイトを実行しているため(asp.netも実行するため、ウィンドウが必要です)、MsftのWebPIを使用して新しいインスタンスをインストールし、テンプレートをコピーしてインポート/エクスポートを使用してデータを転送します。

完全ではありませんが、1時間もかかりません。

ワンクリックで解決できるのはいいことですが、これが私にとって最も簡単であることがわかりました。




1

あなたが質問をしたときにはこれはなかったかもしれませんが、私はBlogvaultと呼ばれるサービスを数ヶ月使用しており、これは完璧に行われました。私はおそらく50回以上の移行(ドメイン間、サブドメイン、およびWebホスト)を行ったことがありますが、ヒッチではなく、まったく時間がかかりません。

それは有料サービス(ドメイン/月ごと)ですが、それほど多くはありません。


1

RAMPはCrowd Favoriteの新しいコンテンツ展開プラグインであり、とても滑らかに見えます。ただし、250ドルなので、まだ試していません。ただし、節約された時間の分だけ自己負担になる可能性があるため、検討しています。

記載されている他のほとんどの方法と比べて大きな利点は、投稿、コメントなどをインテリジェントにマージできることです。mysqldumpをインポートするだけでなく、データベースのソース管理に似ています。たとえば、投稿をデプロイするときに、本番用のタグがまだ存在しない場合、その投稿のタグもデプロイします。


RAMPは、コードの展開とは対照的に、コンテンツの展開用ですが、見た目は素晴らしいと思います。彼らは今持っているRAMPのデモは、あなたが機能を試すことができますので、設定します。
エムゾ

質問は約たコンテンツ deployementではなく、コードの展開、そして私は「RAMPが新規であると言って私の答えをオフに開始したコンテンツ展開プラグイン...」
イアン・ダン

1

私のお気に入りの一つをあげさせてください:-)

// proven local<->live codefork (covers local network testing, i.e. from mobile devices):
$GLOBALS['is_local'] =  
    in_array( $_SERVER['REMOTE_ADDR'], array("127.0.0.1","::1")) || // simple localhost (IPv4 IPv6)
              $_SERVER['HTTP_HOST'] == 'local.workblog'          || // call by local name (adjust)
       substr($_SERVER["REMOTE_ADDR"],0,8) == '192.168.';           // (mobile) device in local network

$table_prefix  = NULL; // ensure scope

if ( $GLOBALS['is_local'] )  // LOCAL fork ------------------------
{
        ....
}
else  // STAGE/LIVE fork -------------------
{

...そして、あなたはそこからあなたの方法で働きます。DB_NAME、DB_USER ... table_prefix。個人的に私は(避けるためにローカルにALTERNATE_WP_CRONに切り替えるいくつかの迷惑な警告を)、両方でのWP_DEBUG(あなたが開発者でない場合)、ライブだけで(あなたがしている場合)、別のini_set('display_errors', '0');ライブのためにも最後に良い、アリを行うことができ、上記のとおり:WP_HOMEおよびWP_SITEURLをそれぞれのローカル/実際のURLに。

ほぼすべて、古典的なWordPress 上に何も残っていませんライン...

192.168。一部を使用すると、ローカルネットワーク内でローカルテスト(パッドや電話など)を実行できます)

$ GLOBALS ['is_local']は、追加のデバッグ出力などのために、テーマ開発でも役立ちます。


1
WordPressスケルトンwp-config.phpを使用して、WP_LOCAL_DEV定数を設定して同様の何かを達成することができます
-icc97

1

私はしばらくの間、backupbuddyプラグインを使用しています。データベースとすべてのファイルのバックアップを作成したり、zipとしてダウンロードしたり、FTP経由で別のサーバーに直接送信したりできます。また、URLの検索と置換も行います。通常、プロセス全体を完了するには約5分かかります。また、すべてのファイルが圧縮されているため、アップロード/ダウンロードプロセスがはるかに高速です。いいえ、私は彼らのために働いていませんが、このプラグインはこのプロセス全体を本当に簡単にしました。


1

サイトのサーバー移行を処理するためのもう1つの便利なツールはWordPress CLIです。この記事では何ができるかについて概要を説明していますが、特に「検索と置換」のセクションは古い/ devサイトURLへのすべての参照を見つけるのに役立ちます:

WP-CLIによる高度なWordPress管理


1

これが最も簡単な方法です:https : //themes.artbees.net/docs/website-migration/
2回クリックするだけです。1つはエクスポート、もう1つはインポートです。

1つのWP移行プラグインですべてを使用することで可能です。上記のリンクは、その使用方法を示しています。


0

継続的な同期を達成しようとしている場合は、rsyncとカスタムcronジョブを使用して、URLまたはサイト固有のデータを書き換えることをお勧めします。


0

しばらくこの回答を読んだ後、私は自分の小さなプラグインPitta Migrationを作成しました。理由は:

  1. ここで試されたすべてのアイデアのうち、最も簡単なのはWP_HOMEand WP_SITEURLオプションです
  2. 次に、これらを使用して2つの一致するwp_optionsURL を設定します-プラグイン/テーマがこれらを無視する場合をカバーします
  3. これにより、データベースで何が変更されているかについて100%の自信が得られます。
  4. これはクロスプラットフォームでも動作します(これらのbashスクリプトはすべてWindowsではうまく動作しません)
  5. プラグインが何をしているかを理解するのは簡単です
  6. 2つの定数を超える設定はありません。mysqldumpとmysqlをローカルデータベースにインポートすると、プラグインは定数とテーブルが異なることを確認し、一致するように更新します。
  7. テキスト検索と置換なし
  8. データベースを改ざんする可能性はありません-私はWordPressデータベースオブジェクトを使用して2つの更新を行います。
  9. WordPressスケルトンなど、ソース管理ですべてを使用してローカル設定を設定できるものとうまく連携します
  10. 私はそれを入れているWordPressのプラグインディレクトリと上のGithubそれは自由だように、完全にオープンソース、あなたはフォークしやすいとインストールが簡単
  11. 一度インストールすると、それを忘れて「正常に動作する」はずです-データベースが変更されたことを知らせる小さな通知が表示されます。
  12. バックアップ/ FTP /復元プロセスで動作するはずです

0

私の意見では、私が従う最も簡単な方法は手動転送です。wp-contentフォルダーとwp-config.phpファイルを新しいホストにコピーするだけです。古いホストからデータベースをエクスポートし、新しいホストの新しいデータベースにインポートします。

新しいホストデータベースでwp-optionテーブルに移動し、サイトのURLとブログのURLを古いホストの新しいホストアドレスに変更します。等からののhttp:// localhost /をWPhttp://example.com

これで、wp-configファイルで、データベースとユーザーの情報を新しいホスト情報で変更するだけです。

新しいwp-adminにログインし、設定に移動してパーマリンクを保存します。

できました。これはプラグインを使用せずに簡単だと思います。

私はさまざまな種類のプラグインを試しましたが、これらすべてに多くの種類の問題があります。

ですから、この簡単な手動転送の方が好きです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.