web-dev-qa-db-fra.com

Différents environnements de développement (Mac et Windows)

J'essaie de synchroniser le développement entre un utilisateur Windows (WAMP) et un utilisateur Mac (Apache standard).

Utilisateur Windows (moi) Depuis que j’utilise IIS j’ai besoin du port 80, j’ai donc changé les ports de WAMP en: 666.

Donc, l'URL du Wordpress est http: // localhost: 666/nom du projet/

utilisateur Mac il a le site sur un non-alias, juste le chemin du projet

Donc, l'URL est http: // localhost/foldername/wordpress/


Dans wp-config.php j'ai le code suivant

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

Et dans le local_settings.php

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

Mais ce code ne semble pas remplacer réellement la fichue stupide base de données siteurl car quand il tente de se connecter, il se dirige toujours vers localhost: 666 (qui est la valeur de la base de données).

Ou est-il impossible de synchroniser différents développeurs? Comment faites-vous les gars? Et s'il vous plaît ne me demandez pas de changer mon port en: 80 :)

1
Viktor Sarström

Vous devez avoir 2 jeux de paramètres, un pour if file_exists et un autre:

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

Mon équipe et moi-même changeons généralement le domaine de la base de données pour chaque environnement local.

Vous pouvez le faire manuellement ou exécuter deux liner dans functions.php:

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

Vous ne devez exécuter cette mise à jour qu'une seule fois sur la machine de l'utilisateur Mac.

référence: http://codex.wordpress.org/Changing_The_Site_URL

0
rexposadas

Edit: Ignorer cette réponse.

Les constantes ont déjà été définies. Il n'est pas possible de redéfinir les constantes en PHP.

Essayez d’inclure local_settings.php avant la ligne suivante dans wp-settings.php (au lieu de wp-config.php):

require (ABSPATH.WPINC. '/ default-constants.php');

0
Danial