web-dev-qa-db-ja.com

異なる開発環境(MacとWindows)

私はWindowsユーザー(WAMP)とMacユーザー(通常のApache)の間で開発を同期させようとしています。

Windowsユーザー(私)IISを使用しているので、ポート80が必要です。そのため、WAMPのポートを666に変更しました。

つまりWordpressのURLは http:// localhost:666/projectname / です。

Macユーザー彼はサイトをエイリアスではなく、プロジェクトへのパスだけに持っています

したがって、URLは http:// localhost/foldername/wordpress / です。


Wp-config.phpに私は以下のコードがあります。

if (file_exists('local_settings.php')) {
include('local_settings.php');
} else {
$debug_on = true;
}

そしてlocal_settings.phpの中で

define('WP_HOME', 'http://' . $_SERVER['HTTP_Host'] . '/projectname/');
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_Host'] . '/projectname/');

しかし、このコードは実際には愚かな愚かなデータベースsiteurlをオーバーライドしているようには見えません。なぜなら彼がログインしようとしたとき、まだlocalhost:666(これはデータベース内の値です)に向かうからです。

それとも別の開発者を同期させることは不可能ですか?どうやってやるの?そして私のポートを80 :)に変更するように私に頼まないでください

1

あなたは2組の設定を持っている必要があります。

if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {
  include( dirname( __FILE__ ) . '/local-config.php' );
  define( 'WP_LOCAL_DEV', true ); 
} else {
  define('WP_HOME', 'http://localhost:666/projectname/');
  define('WP_SITEURL', 'http://localhost/foldername/wordpress/');
}
1
Chris_O

私のチームと私は通常、ローカル環境ごとにDB内のドメインを変更します。

手動で行うことも、functions.phpで2つのライナーを実行することもできます。

update_option('siteurl','http://localhost/foldername/wordpress');
update_option('home','http://localhost/foldername/wordpress');

このアップデートはMacユーザーのコンピュータで1回実行するだけで済みます。

参照: http://codex.wordpress.org/Changing_The_Site_URL

0
rexposadas

編集:この答えを無視してください。

定数はすでに定義されています。 PHPでは定数を再定義することはできません。

次の行の前に(wp-config.phpではなく)local_settings.phpを含めてみてください。

必須(ABSPATH.WPINC。 '/ default-constants.php');

0
Danial