2017-07-07 10 views
0

私は、Herokuへの配備のためにLaravel 5.4でpostgresqlドライバを設定しています。ここに私のconfig/database.phpでは、私は私が私がエラーherokuデプロイメントで不正な文字列オフセット

[Symfony\Component\Debug\Exception\FatalThrowableError] 
Type error: PDO::__construct() expects parameter 2 to be string, array given 
を取得しています heroku run php artisan serveを実行して、この警告

PHP Warning: Illegal string offset 'username' in app/config/database.php on line 62 

を参照してコミットすると、defaultはすでにpgsql

'pgsql' => [ 
     'driver' => 'pgsql', 
     'host' => parse_url(getenv("DATABASE_URL"))['host'], 
     'database' => substr(parse_url(getenv("DATABASE_URL"))['path'], 1), 
     'username' => parse_url(getenv("DATABASE_URL")['username']), 
     'password' => parse_url(getenv("DATABASE_URL")['password']), 
     'charset' => 'utf8', 
     'prefix' => '', 
     'schema' => 'public', 
    ], 

に設定されています

ここに私です.env

DB_CONNECTION=pgsql 
DB_HOST=127.0.0.1 
DB_PORT=5432 
DB_DATABASE=forge 
DB_USERNAME=postgres 
DB_PASSWORD= 

答えて

0

提供される.envから正しいデータを取得する場合は、構成アレイは次のようになります。

'pgsql' => [ 
      'driver' => 'pgsql', 
      'host' => env('DB_HOST', '127.0.0.1'), 
      'port' => env('DB_PORT', '5432'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
      'sslmode' => 'prefer', 
     ] 
関連する問題