我有两个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