2013-04-27 108 views
1

我有以下遷移:Laravel的工匠無法連接到數據庫,拋出錯誤 「SQLSTATE [HY000] [2002年]」

<?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'); 
    } 

} 

當我運行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. 

我在運行PHP 5.4的Win7和XAMPP上。有什麼我失蹤?

編輯:這裏是內database.php中的DB配置:

'connections' => array(

     ... 

     'mysql' => array(
      'driver' => 'mysql', 
      'host'  => '127.0.0.1', 
      'database' => 'makeitsnappy', 
      'username' => 'root', 
      'password' => '', 
      'charset' => 'utf8', 
      'prefix' => '', 
     ), 
... 
) 

而且,在目標機器是我的本地服務器和我有過它的完全控制。

回答

0

DB配置存在問題。檢查您的dsn字符串或主機名和db驅動程序類型。

+0

您試圖連接的服務沒有運行在另一個防火牆端口的另一個地址處於活動狀態 – Oskar 2013-04-27 05:50:16

+0

數據庫配置沒問題。我可以證實這一點,因爲當我運行'php artisan migrate:install'時,laravel遷移表安裝正確,使用相同的數據庫設置。 – abhisek 2013-04-27 05:51:05

+0

提供更多信息。 什麼是目標機器?你使用什麼配置參數來連接?你有目標機器的控制權,等等。 – Oskar 2013-04-27 05:53:03

相關問題