我有兩個Laravel API在我的本地開發機器上提供AngularJS應用程序。當Angular頁面調用POST到兩個似乎使用錯誤的數據庫名稱的API(它使用另一個Laravel的實例數據庫)時,我遇到了一個奇怪的問題。 Laravel拋出一個異常,說Table database.table
未找到,其中數據庫是不正確的數據庫。我已經嘗試使用Postman調用每個API,並且工作正常,並且我確定沒有提及任何項目中的其他數據庫。奇怪的Laravel 5緩存使用錯誤的數據庫名稱
對我來說,這似乎是一個緩存問題,由於某些原因,.env文件可能會在兩臺Laravel服務器之間緩存和共享。這兩個Laravel應用程序都在Apache上託管。我試過調用php artisan config:clear
,並在.htaccess文件中設置了適當的頭文件來試圖阻止任何緩存,但這兩個文件都沒有工作。我也在多個瀏覽器上嘗試過,清除了緩存,但仍然出現相同的錯誤。
我希望能夠使用.env文件,以便我可以爲我的開發服務器配置唯一的配置,所以我寧願在config/database.php
中對數據庫憑證進行硬編碼。任何想法可能是什麼問題?
兩個database.php中的文件看起來像:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
這裏獨特的設置存儲在.env
'.env'位於你項目的根目錄中,而不是'app /'目錄中。 – sebdesign
對不起,這是一個錯字。 – Gabriel
我還沒有解決這個問題,但作爲臨時解決方法,我現在只是在app/config/database.php中根據env('APP_ENV')的值定義數據庫憑證,而不是將它們存儲在.env文件中 – Gabriel