ThinkPhp로 개발할 때는 때때로 데이터베이스를 찾을 수 없거나 연결이 실패하는 오류 메시지가 발생합니다. 이 유형의 문제는 일반적으로 구성 오류, 데이터베이스 서비스가 시작되지 않았거나 권한이 충분하지 않아 데이터베이스 작업이 정상적으로 진행되지 않습니다.
먼저 데이터베이스 구성 파일의 정보가 올바른지 확인하십시오. ThinkPhp의 데이터베이스 구성 파일은 일반적으로 config/database.php 에 있습니다. 파일을 열면 다음 구성을 확인하십시오.
// 데이터베이스 유형
'type' => 'mysql',
// 서버 주소
'hostname' => 'localhost',
// 데이터베이스 이름
'database' => 'your_database_name',
// 데이터베이스 사용자 이름
'username' => 'your_username',
// 데이터베이스 비밀번호
'password' => 'your_password',
// 포트
'hostport' => '',
// ...
위의 매개 변수가 실제 데이터베이스 정보와 일치하는지 확인하십시오. 원격 연결 인 경우 올바른 서버 주소와 포트 번호를 입력하십시오.
데이터베이스 서비스가 시작되었는지 확인하십시오. Linux 시스템은 다음 명령을 사용하여 MySQL 서비스를 확인하고 시작할 수 있습니다.
sudo service mysql status
sudo service mysql start
Windows 시스템은 명령 프롬프트에서 실행할 수 있습니다.
net start mysql
서비스가 시작되지 않으면 시스템 환경에 따라 데이터베이스 서비스를 시작하십시오.
권한 문제로 인해 데이터베이스가 연결할 수 없게 될 수도 있습니다. 데이터베이스 사용자가 데이터베이스에 액세스하기에 충분한 권한이 있는지 확인하십시오. 다음 mySQL 명령을 사용하여 권한을 부여 할 수 있습니다.
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'localhost' IDENTIFIED BY 'your_password';
your_username 및 your_password를 실제 사용자 이름 및 비밀번호로 바꾸십시오.
위의 모든 것이 정상 인 경우 코드를 통해 데이터베이스 연결을 수동으로 테스트하십시오.
try {
$dbh = new PDO('mysql:host=localhost;dbname=your_database_name', 'your_username', 'your_password');
echo "Database connection success!";
} catch (PDOException $e) {
echo "Database connection failed: " . $e->getMessage();
}
관련 매개 변수를 교체 한 후이 코드를 실행하십시오. 성공하면 연결이 성공할 것임을 보여줍니다. 실패가 발생하면 특정 오류 메시지가 표시됩니다.
위의 단계 외에도 다음에주의를 기울여야합니다.
3.1 데이터베이스 이름과 테이블 이름이 철자와 대문자와 소문자인지 확인하십시오.
3.2 디펜트가 아닌 포트를 사용하는 경우 구성 파일의 포트 번호가 정확하게 채워 졌는지 확인하십시오.
3.3 데이터베이스 구성 파일 및 관련 디렉토리 권한이 읽기 및 쓰기를 허용하는지 확인하십시오.
ThinkPhp에 데이터베이스를 찾을 수없는 문제가있는 경우 구성 파일, 데이터베이스 서비스 상태, 사용자 권한 및 연결 테스트 문제 해결 문제를 해결하는 데 핵심입니다. 데이터베이스 이름, 포트 및 파일 권한을 올바르게 처리하면 연결 고장을 효과적으로 피할 수 있습니다. 이 기사에 설명 된 단계를 통해 대부분의 데이터베이스 연결 예외 문제를 신속하게 해결할 수 있습니다.