2015-08-30 114 views
0

一些有用的信息:Laravel 5:數據庫遷移(!HELP)

  • IM在OS X(埃爾卡皮坦測試版)
  • 進出口運行使用XAMPP
  • 我已經成功地安裝Laravel 5和我可以確認它的工作。

這裏是我的移民文件:

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateUsersTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('users', function(Blueprint $table) { 
      $table->increments('id'); 
      $table->string('email'); 
      $table->string('username'); 
      $table->string('password'); 
      $table->string('first_name')->nullable(); 
      $table->string('last_name')->nullable(); 
      $table->string('remember_token')->nullable(); 
      $table->timestamps(); 
     }); 
    } 

/** 
* Reverse the migrations. 
* 
* @return void 
*/ 
public function down() 
{ 
    Schema::drop('users'); 
} 
} 

我.ENV文件

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=TvzwP6TLLRWK4zXDGDeudPOZnvXxYENz 

DB_HOST=localhost 
DB_DATABASE=users 
DB_USERNAME=root 
DB_PASSWORD= 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

我database.php中文件

<?php 

return [ 

    /* 
    |-------------------------------------------------------------------------- 
    | PDO Fetch Style 
    |-------------------------------------------------------------------------- 
    | 
    | By default, database results will be returned as instances of the PHP 
    | stdClass object; however, you may desire to retrieve records in an 
    | array format for simplicity. Here you can tweak the fetch style. 
    | 
    */ 

    'fetch' => PDO::FETCH_CLASS, 

    /* 
    |-------------------------------------------------------------------------- 
    | Default Database Connection Name 
    |-------------------------------------------------------------------------- 
    | 
    | Here you may specify which of the database connections below you wish 
    | to use as your default connection for all database work. Of course 
    | you may use many connections at once using the Database library. 
    | 
    */ 

    'default' => env('DB_CONNECTION', 'mysql'), 

    /* 
    |-------------------------------------------------------------------------- 
    | Database Connections 
    |-------------------------------------------------------------------------- 
    | 
    | Here are each of the database connections setup for your application. 
    | Of course, examples of configuring each database platform that is 
    | supported by Laravel is shown below to make development simple. 
    | 
    | 
    | All database work in Laravel is done through the PHP PDO facilities 
    | so make sure you have the driver for your particular database of 
    | choice installed on your machine before you begin development. 
    | 
    */ 

    'connections' => [ 

     'sqlite' => [ 
      'driver' => 'sqlite', 
      'database' => storage_path('database.sqlite'), 
      'prefix' => '', 
     ], 

     'mysql' => [ 
      'driver' => 'mysql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
     ], 

     'pgsql' => [ 
      'driver' => 'pgsql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
     ], 

     'sqlsrv' => [ 
      'driver' => 'sqlsrv', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
     ], 

    ], 

    /* 
    |-------------------------------------------------------------------------- 
    | Migration Repository Table 
    |-------------------------------------------------------------------------- 
    | 
    | This table keeps track of all the migrations that have already run for 
    | your application. Using this information, we can determine which of 
    | the migrations on disk haven't actually been run in the database. 
    | 
    */ 

    'migrations' => 'migrations', 

    /* 
    |-------------------------------------------------------------------------- 
    | Redis Databases 
    |-------------------------------------------------------------------------- 
    | 
    | Redis is an open source, fast, and advanced key-value store that also 
    | provides a richer set of commands than a typical key-value systems 
    | such as APC or Memcached. Laravel makes it easy to dig right in. 
    | 
    */ 

    'redis' => [ 

     'cluster' => false, 

     'default' => [ 
      'host'  => 'localhost', 
      'port'  => 3306, 
      'database' => 0, 
     ], 

    ], 

]; 

當我運行的PHP工匠遷移「在終端我得到一個

[PDOException]          
    SQLSTATE[HY000] [2002] No such file or directory 

我的數據庫連接credintels是: 主持人是:「localhost」的 數據庫的用戶名是:「根」 數據庫的密碼是:「」

我在數據庫中沒有表,我想運行遷移到創建表。

在此先感謝

+0

如果''APP_KEY'''字段包含敏感信息,或者您使用該數據庫登錄名查找除localhost以外的任何內容,則建議更改該信息。 –

+0

您是否檢查過文件權限? – m02ph3u5

+0

不,我沒有檢查文件的權限 - 我該怎麼做? – user3575600

回答

3

當你連接到本地主機,PDO試圖連接到使用不存在Unix套接字文件數據庫。替換本地主機127.0.0.1它會連接到您的數據庫使用TCP連接,這應該解決這個問題。