Voici ma configuration. J'ai une instance multisite s'exécutant à http://example.com , et je souhaite effectuer le développement et le transfert. Déplacer une instance multisite existante de WP sur localhost est un cauchemar. Je vais donc créer dev sur un emplacement intermédiaire.
J'ai configuré http://staging.example.com pour qu'il pointe vers le répertoire/public_html/staging/du compte d'hébergement et ai copié tous les fichiers WP de ma racine dans/staging/répertoire. J'ai également copié les fichiers de base de données (vidage SQL, importé les tables dans une nouvelle base de données) et modifié le fichier wp-config.php pour qu'il pointe vers la nouvelle base de données.
Après avoir exécuté SQL pour modifier les enregistrements de base de données, j'ai également modifié cette ligne dans le fichier wp-config.php:
/** Turning on WordPress MU, new in 3.0 */
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Changé en:
define( 'DOMAIN_CURRENT_SITE', 'staging.example.com' ); // <- now changed
Quand je charge http://staging.example.com , je reçois ... Error establishing database connection
!
J'ai vérifié et vérifié trois fois le nom d'utilisateur et le mot de passe, m'assurant que l'utilisateur dispose de tous les privilèges sur la nouvelle base de données de transfert, et j'ai laissé DBHOST en tant que 'localhost' aide, non plus).
Pourquoi la connexion à la base de données échouerait-elle? N'importe qui? (Merci d'avance pour votre aide.)
NB: http://example.com fonctionne correctement avec des paramètres de connexion à la base de données très similaires, juste avec une base de données différente, le problème ne vient donc pas du serveur en panne. .
Une pensée - quand je vais à www.example.com/staging/wp-admin, il me redirige automatiquement vers www.example.com/wp-admin
La redirection de staging.example.com vers example.com/staging pourrait-elle être en conflit avec l'installation existante?
UPDATE: cela pourrait être lié à des problèmes .htaccess et à des références de domaine compliquées dans la base de données.
Du WP Codex:
Déplacement WordPress Multisite
Le déplacement d'un multisite est beaucoup plus compliqué, car la base de données elle-même comporte plusieurs références au nom du serveur ainsi qu'à l'emplacement des dossiers.
La meilleure façon de déplacer Multisite consiste à déplacer les fichiers, à modifier les fichiers .htaccess et wp-config.php (si le nom du dossier contenant Multisite a été modifié), puis à modifier manuellement la base de données. Recherchez toutes les instances de votre nom de domaine et modifiez-les si nécessaire. Cette étape ne peut pas encore être facilement automatisée. Si vous déplacez Multisite d'un dossier à un autre, vous devez vous assurer de modifier les entrées de wp_blogs pour modifier le nom du dossier correctement.
Je l'ai résolu et cela a fonctionné :)
Dans la table wp_blogs
,
Ancienne structure était
Domain : localhost/smart_facility_linux
Path : /
Mais je l'ai changé pour le faire fonctionner comme suit:
Pour le site racine:
Domain : localhost
Path : /smart_facility_linux/
Pour le sous-site 1 (tout sous-site sous le site principal, je viens de donner un exemple):
Domain : localhost
Path : /smart_facility_linux/subsite1/
Il n'y a vraiment qu'un seul moyen de faire un transfert facile de domaine ou d'hôte que j'ai trouvé. Cela fonctionne parfaitement pour moi sur des installations mono et multisites.
Ajoutez la ligne suivante à votre fichier wp-config.php:
define ('RELOCATE', true);
Connectez-vous et enregistrez vos paramètres de permaliens.
Supprimez la règle de définition que vous avez insérée dans votre fichier wp-config.php.