2014-04-25 135 views
1

你好,我已經得到了手冊,我儘可能地得到了,但最後一部分是不完整的。關鍵是將數據庫密碼放在其他文件中,然後從database.php文件中訪問它們。這是這樣:Laravel:配置以保護敏感信息

1)這裏是數據庫文件

    'mysql' => array(
      'driver' => 'mysql', 
      'host'  => 'localhost', 
      'database' => 'laraveel', 
      'username' => 'root', 
      'password' => '', 

     ), 

所以現在它告訴我創建一個名爲.env.local.php文件,像這樣:

<?php 

return array(

'TEST_STRIPE_KEY' => 'super-secret-sauce', 

); 

和然後從數據庫文件accesing像這樣

'key' => $_ENV['TEST_STRIPE_KEY'] 

我想他的意思是這樣的:

     mysql' => array(
      'driver' => 'mysql', 
      'host'  => 'localhost', 
      'database' => 'laravel', 
      'username' => 'root', 
      'password' => '$_ENV['TEST_STRIPE_KEY']', 

     ), 

但這裏是我沒有信息的地方。我不知道我必須在.env.php文件中寫下什麼,他說,創建包含生產環境相應值的文件。我不知道在所有的那是什麼,寫什麼

像.env.local.php文件,生產 .env.php文件不應該被包含在源代碼控制

+0

別在一個字符串中包裝''$ _ENV ['TEST_STRIPE_KEY']''''。寫這個代替:'$ _ENV ['TEST_STRIPE_KEY']'沒有單引號'''。 –

回答

3

你的代碼幾乎是正確的,問題在於你用一個字符串(用單引號)包裝了$_ENV['TEST_STRIPE_KEY']。只需打開它,一切都將按預期工作。

變化:

'password' => '$_ENV['TEST_STRIPE_KEY']', // Wrapped in a string 

要:

'password' => $_ENV['TEST_STRIPE_KEY'], // No wrapped in a string 

如果仍然遇到問題,請確保您是在正確的環境中運行:

php artisan env 
+0

謝謝魯本斯,但是我的問題是我接下來要做的事情:創建一個包含生產環境相應值的.env.php文件。 –