Laravel 的 Artisan 无法连接到数据库,抛出错误“SQLSTATE[HY000] [2002]”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16248786/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Laravel's Artisan Can't Connect to Database, Throws Error "SQLSTATE[HY000] [2002]"
提问by abhisek
I have the following migration:
我有以下迁移:
<?php
class Create_Users_Table {
/**
* Make changes to the database.
*
* @return void
*/
public function up()
{
Schema::create('users', function($table){
$table->increments('id');
$table->string('username');
$table->string('password');
$table->timestamps();
});
}
/**
* Revert the changes to the database.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
When I run php artisan migrate
, I get the following error:
当我运行时php artisan migrate
,出现以下错误:
Warning: PDO::__construct(): [2002] No connection could be made because the target machine actively (trying to connect via tcp://127.0.0.1:3306) in C:\xampp\htdocs\snip\laravel\database\connectors\mysql.php on line 33
Call Stack:
0.0007 326008 1. {main}() C:\xampp\htdocs\snip\artisan:0
0.0312 1527392 2. require('C:\xampp\htdocs\snip\laravel\cli\artisan.php') C:\xampp\htdocs\snip\artisan:24
0.0414 2067048 3. Laravel\CLI\Command::run() C:\xampp\htdocs\snip\laravel\cli\artisan.php:42
0.0448 2171864 4. Laravel\CLI\Tasks\Migrate\Migrator->run() C:\xampp\htdocs\snip\laravel\cli\command.php:49
0.0448 2171864 5. Laravel\CLI\Tasks\Migrate\Migrator->migrate() C:\xampp\htdocs\snip\laravel\cli\tasks\migrate\migrator.php:52
0.0448 2171928 6. Laravel\CLI\Tasks\Migrate\Resolver->outstanding() C:\xampp\htdocs\snip\laravel\cli\tasks\migrate\migrator.php:69
0.0448 2172368 7. Laravel\CLI\Tasks\Migrate\Database->ran() C:\xampp\htdocs\snip\laravel\cli\tasks\migrate\resolver.php:53
0.0448 2172368 8. Laravel\CLI\Tasks\Migrate\Database->table() C:\xampp\htdocs\snip\laravel\cli\tasks\migrate\database.php:61
0.0454 2209248 9. Laravel\Database::connection() C:\xampp\htdocs\snip\laravel\cli\tasks\migrate\database.php:81
0.0471 2287344 10. Laravel\Database::connect() C:\xampp\htdocs\snip\laravel\database.php:52
0.0482 2302840 11. Laravel\Database\Connectors\MySQL->connect() C:\xampp\htdocs\snip\laravel\database.php:66
0.0482 2305032 12. PDO->__construct() C:\xampp\htdocs\snip\laravel\database\connectors\mysql.php:33
SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
I am on Win7 and XAMPP running PHP 5.4. Is there something I am missing?
我在 Win7 和 XAMPP 上运行 PHP 5.4。有什么我想念的吗?
Edit: Here are the DB config inside database.php:
编辑:这是 database.php 中的数据库配置:
'connections' => array(
...
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'makeitsnappy',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'prefix' => '',
),
...
)
Also, the target machine is my local server and I have full control over it.
此外,目标机器是我的本地服务器,我可以完全控制它。
采纳答案by Oskar
There is troubles with DB config. Check your dsn string or hostname and db driver type.
数据库配置有问题。检查您的 dsn 字符串或主机名和数据库驱动程序类型。