Когда я пишу команду миграции php artisan, я вижу что-то вроде этого: -
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. (SQL: select * from information_schema.tables where table_schema = crudtwo and table_name = migrations and table_type = 'BASE TABLE')
674▕ // If an exception occurs when attempting to run a query, we'll format the error
675▕ // message to include the bindings with SQL, which will make this exception a
676▕ // lot more helpful to the developer instead of just the database's errors.
677▕ catch (Exception $e) {
➜ 678▕ throw new QueryException(
679▕ $query, $this->prepareBindings($bindings), $e
680▕ );
681▕ }
682▕
1 C:\Users\NaimBiswas\Desktop\Laravel\four\crudtwo\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70
PDOException::("PDO::__construct(): php_network_getaddresses: getaddrinfo failed: No such host is known. ")
2 C:\Users\NaimBiswas\Desktop\Laravel\four\crudtwo\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70
PDO::__construct("mysql:host=mysql;port=3306;dbname=crudtwo", "root", "", [])
Через несколько часов я нашел решение. Решение просто удалить DB_HOST=mysql из файла .env Теперь мой вопрос: может ли кто-нибудь объяснить больше об этом, почему возникла эта ошибка и почему она решается после удаления DB_HOST=mysql.
Ошибка PDO::__construct("mysql:host=mysql;port=3306;dbname=crudtwo", "root", "", [])
показывает, что у вас неправильная запись в файле .env
Измените DB_HOST в файле .env
как
//Change
DB_HOST=mysql
//To
DB_HOST=127.0.0.1
DB_HOST
— это место, где находится ваш сервер mysql, а не тип сервера. Скорее всего, это будет127.0.0.1
илиlocalhost
для сервера разработки.