programing

마이그레이션을 실행할 때 "해당 파일 또는 디렉터리 없음" 또는 "해당 호스트를 알 수 없음"

lastcode 2023. 10. 19. 22:21
반응형

마이그레이션을 실행할 때 "해당 파일 또는 디렉터리 없음" 또는 "해당 호스트를 알 수 없음"

삭제했습니다.migrationsLaravel 5.4 데이터베이스의 테이블 이름laravel. 내가 뛸때php artisan migrate:install, 다음 오류가 발생합니다.

[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] No such file or directory
(SQL: select * from information_schema.tables where table_schema = laravel
    and table_name = migrations)

데이터베이스를 삭제하고 다시 만들었습니다.저도 뛰었습니다.composer update. 운이 없습니다.phpMyAdmin에서 명령어를 실행하고 테이블을 수동으로 만들 수 있습니다.

이 문제는 때때로 다음과 같은 2002년 오류와 함께 나타납니다.

[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
(SQL: select * from information_schema.tables where table_schema = laravel
    and table_name = migrations and table_type = 'BASE TABLE')
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
(SQL: select * from information_schema.tables where table_schema = laravel
    and table_name = migrations and table_type = 'BASE TABLE')

사용하시는 경우localhost자네와 마찬가지로DATABASE_HOST에서.env파일, 로 변경합니다.127.0.0.1, 그다음에 달리다php artisan config:clear이제 시도해 보세요.php artisan migrate:install다시.

이것이 제가 추천하는 것입니다..env파일:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306

그다음에Database.php폴더 위치 추가:

'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),

마지막으로 다음을 시도합니다.

php artisan config:clear
php artisan migrate:install

환경 변수를 설정하여 이 문제를 해결했습니다..env파일:

DB_CONNECTION=mysql 
DB_HOST=mysql 
DB_PORT=3306 

사실 나는 방금 전에.DB_HOST=127.0.0.1로.DB_HOST=mysql.

MAMP Pro를 사용하는 경우(무료 버전의 MAMP에 항상 필요한 것은 아님), 가장 좋은 방법은 이것을 사용자에게 추가하는 것입니다..env파일:

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

이것은 MAMP 설치가 다음과 같다고 가정합니다./Applications/MAMP(기본값) 물론입니다.

크레딧: @Uncoke의 이 질문에 대한 코멘트

Mac 사용자의 경우 .env 파일에 추가합니다.

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock  

macOS에서 MAMP를 사용하고 있고 편집 후에localhost로.127.0.0.1및 포트 투8888이 문제는 다음을 추가함으로써 해결되었습니다.

'unix_socket' => env('DB_SOOKET', '/Applications/MAMP/tmp/mysql/mysql.양말'),

로.config/database.php파일.

경우에 따라 mysql 서버가 실행되고 있지 않기 때문에 이 문제가 발생할 수 있습니다.Laravel 5.7을 사용하다가 mysql server를 재시작하여 해결하게 되었습니다.ubuntu의 경우 mysql 서버의 상태를 확인합니다.service mysql status. 명령을 사용하여 mysql 서버를 재시작할 수 있습니다.service mysql restart

나 자신의 질문에 대한 해결책을 게시합니다.

폴더를 삭제하고 코드 베이스를 다시 만들어 내 환경을 올바른 데이터베이스 서버로 가리키도록 했습니다.이번에는 효과가 있었습니다.원래의 오류를 일으키기 위해 무엇이 없어졌는지 정확히 모르겠습니다.

언급URL : https://stackoverflow.com/questions/46407490/no-such-file-or-directory-or-no-such-host-is-known-when-running-migrations

반응형