programing

로컬 호스트에서 Wordpress 다중 사이트 "데이터베이스 연결 설정 오류"

muds 2023. 4. 1. 10:02
반응형

로컬 호스트에서 Wordpress 다중 사이트 "데이터베이스 연결 설정 오류"

WordPress를 다중 사이트 설정으로 변환하려고 하면 다음 오류가 표시됩니다.

데이터베이스 연결 설정 중 오류 발생

WAMP 서버가 설치된 Windows 7에서 WordPress 3.7.1을 사용하고 있습니다.

wp-config.php

define('WP_ALLOW_MULTISITE', true ); 
define('SUBDOMAIN_INSTALL', false); 
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wordpress_test4/');
define('SITE_ID_CURRENT_SITE', 1); 
define('BLOG_ID_CURRENT_SITE', 1);

.htaccess(접속)

RewriteEngine On 
RewriteBase /wordpress_test4/ 
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^ - [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] 
RewriteRule . index.php [L]

여기에다가 돼요.wp-config.php:

define('MULTISITE', true);

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 은 이미 있기 했습니다.define('WP_ALLOW_MULTISITE', true);'wp-config'는 'wp-config'입니다.

같은 문제가 발생하여 3가지 해결 방법을 찾았습니다.

  1. DB_NAME,DB_USER,DB_PASSWORD , , , , 입니다.DB_HOSTwp-config.config.config. . wp - wp - config - config php php php php php php php php php php php 。

  2. 디마 L.이전에 언급했듯이define('MULTISITE', true);대됩니니다다

  3. 이 하여 WordPress를 입니다.wp_blogs의 열path내 웹사이트의 정의되지 않은 위치로 이동합니다.는 그것을 ㅇㅇㅇㅇㅇㅇㅇ로 요./DB 연결이 다시 설정되었습니다.

나는 이 문제로 오랫동안 고생했다.그리고 마침내 해결책을 찾았다.

이러한 모든 설정을 wp-config.php 파일에 한 번에 추가해서는 안 됩니다.http://codex.wordpress.org/Create_A_Network 에 기재되어 있는 순서에 따라 주세요.

첫 번째 단계로 다음 코드만 추가하십시오.

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

페이지를 새로 고칩니다.그런 다음 관리 패널에서 [툴(Tools)]-> [네트워크 셋업(Network Setup)]으로 이동하여 서브사이트 설정을 선택합니다.

그 외의 경우는, 위 링크의 순서를 사용해 주세요.

나는 얼마 전에 이상한 일을 만났다.다른 도메인에서 실행되는 개발 서버를 설정하고 다중 사이트 설정을 이동한 후 동일한 오류 "데이터베이스 연결을 설정하는 중 오류"가 발생했습니다.모든 wp_options 테이블이 각각의 설정에서 올바른 도메인을 가지고 있는지, 데이터베이스 접속이 올바른 credential을 가지고 있으며 정상적인 원주하에서 동작하는지 확인했습니다.

더 나은 오류 보고를 받을 수 있는 방법을 찾았습니다.함수의 dead_db() 함수에 데이터베이스 객체의 출력을 추가했습니다.php는 테이블 wp_displays에서 내 사이트의 블로그를 찾을 수 없음을 보여 줍니다.이 표에 있는 테스트 서버의 도메인을 업데이트하지 않았습니다.

function dead_db() {
  global $wpdb;
  
  echo "<pre>";
  print_r($wpdb);
  echo "</pre>";
  
  wp_load_translations_early();

★★★DOMAIN_CURRENT_SITEwp-config.phpdefine('DOMAIN_CURRENT_SITE', 'www.example.com');

「」의 삭제"http://wp_compute -> wp wp wp wp wp wp wp wp wp wp wp wp wp wp wp wp wp wp wp.

$base = '/';을(를) 구성에 추가했더니 문제가 해결되었습니다.

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'mydomain.com');
$base = '/';
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

다중 사이트의 전체 데이터베이스 덤프를 가져온 경우 다음 표의 localhost 도메인과 일치하도록 도메인 이름을 변경해야 합니다.

  1. wp_domain [도메인 필드 갱신]
  2. wp_wp [사이트 및 홈]
  3. wp_site [도메인 필드]

멀티사이트의 경우 Configuration에서 WP_HOME 및 WP_SITEURL을 정의합니다.php는 동작하지 않습니다.

DB 덤프를 Import하기 전에 .sql 파일이 있는 경우 모든 도메인을 검색하여 자신의 localhost 도메인으로 바꿀 수 있습니다.

위의 단계들은 나에게 효과가 있었다.

위의 모든 것 외에 멀티 사이트 환경에서 작업할 경우 다음 사항을 확인하십시오.각 서브 디렉토리(/home/subsitename)에는 별도의 wp-config가 있습니다.php 및 .htaccess 파일은 각 (sub) 파일마다 존재하기 때문에 위의 파라미터는 이들 모든 파일에서 조정해야 합니다.예를 들어 /home 디렉토리의 파일이 정상이기 때문에 메인 사이트는 정상적으로 동작하고 있었습니다만, 서브 사이트에 액세스 하려고 하면, 이 파일도 조정할 때까지 데이터베이스 접속 에러 메세지가 표시됩니다.

wp_blogs 결과 그그,는domain값이 여전히 잘못된 도메인을 가리키고 있습니다(멀티 사이트를 개발 서버로 이동 중)..UPDATE wp_blogs SET domain='example.com';문제를 해결했습니다(서브도메인이 아닌 하위폴더 멀티사이트를 사용하고 있습니다.SQL " " " " " ) 。

WHMWHM/cPanel이 WHM/cPanel은 WHM/cPanel을 합니다.MULTISITE/WP_ALLOW_MULTISITE가상 호스트 문제가 발생할 수 있습니다.

데이터베이스 오류가 발생할 경우 네임 서버 또는 A 레코드가 정확할 수 있습니다.그렇지 않으면 도메인이 데이터베이스 연결을 사용하여 서버를 가리키지 않습니다., cPanel 에일리어스에서 도메인 이름을 잊어버렸거나 놓쳤을 수 있습니다.

cPanel로 이동하여 'Aliases'를 검색한 후 'Create a New Alias' 아래에 누락된 도메인 이름을 입력하십시오.

또한 WHM에 로그인하여 'List Accounts'를 검색하여 원하는 계정을 검색한 후 CP 아이콘을 클릭하여 cPanel에 접속할 수도 있습니다.

서브 디렉토리에서 루트 디렉토리로 멀티 사이트 이동 후 문제가 발생하였습니다.

이 문제를 해결한 것은 부분적으로 Sabin Chirila가 언급한 것이다.

  1. wp-config에서 DB_NAME, DB_USER, DB_PASSWORD 및 DB_HOST를 확인합니다.php는 실제로 예상된 것입니다.
  2. Dima L.이전에 언급했듯이 정의('MULTISE', true)도 필요합니다.
  3. 'wp_blogs' 테이블의 'path' 열을 '/'로 변경하면 DB 연결이 다시 설정되었습니다.

몇 가지 더 바꿔야 했어요

  1. 프런트엔드를 표시하기 위해 'wp_site' 테이블의 'path' 열을 '/'로 변경해야 했습니다.
  2. 그 후 (테마 207-child) 백엔드에서 일부 설정을 다시 설정해야 했습니다.이는 고려되지 않았기 때문입니다.하지만 데이터는 아직 존재하기 때문에 그것은 간단했다.

내가 고친 방법은 이렇다

구성 설정

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'localhost' );
define( 'PATH_CURRENT_SITE', '/myblog/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

다음으로 데이터베이스 테이블(phpmyadmin을 사용하여 검색)에서 wp_myadmin은 루트 블로그 값(거짓말/숫자 1)을 설정합니다.

domain localhost
root /myblog/

그리고 마지막으로 옵션테이블의 sitrurl과 홈페이지(phmyadmin을 사용하여 다시 검색)를 리셋합니다.

 http://localhost/myblog/

언급URL : https://stackoverflow.com/questions/19724781/wordpress-multisite-error-establishing-a-database-connection-in-localhost

반응형