Php ';SQLSTATE[3D000]:无效的目录名称:1046未选择数据库';从Laravel返回后,密码提醒

Php ';SQLSTATE[3D000]:无效的目录名称:1046未选择数据库';从Laravel返回后,密码提醒,php,mysql,database,laravel,passwords,Php,Mysql,Database,Laravel,Passwords,这是我的主页路线,在这里我得到一个随机成员: Route::get('/', function() { $member = User::orderBy(DB::raw('RAND()'))->first(); return View::make('landing', compact('member')); }); 当提醒控制器的后提醒方法发送电子邮件时,我正在执行以下操作: case Password::REMINDER_SENT: return Redirect

这是我的主页路线,在这里我得到一个随机成员:

Route::get('/', function()
{
    $member = User::orderBy(DB::raw('RAND()'))->first();
    return View::make('landing', compact('member'));
});
提醒控制器
后提醒
方法发送电子邮件时,我正在执行以下操作:

case Password::REMINDER_SENT:
    return Redirect::to('/')->with('flash_message', 'Whatever message...');
主页将返回:

Illuminate \ Database \ QueryException
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected (SQL: select * from `users` order by RAND() asc limit 1)
如果我在那里刷新页面,它会自行修复。。 我正在使用
getenv()
.env.php
文件来填充数据库连接值。如果我从那切换到硬编码,问题就解决了。如果我继续使用
getenv()
,它也会起作用。然而,一旦我重新启动WAMP,我就回到了第一步


发生了什么事?

当我使用getenv()替换database.php中的硬编码值时,我遇到了这个问题

您确定正在加载正确的环境吗?你可以在终点站检查它,然后按照你的项目路线进行操作

php artisan环境

如果不是正确的,可以在start.php文件中修复它

例如,如果您的本地环境文件(在项目的根目录中)在start.php文件中被称为“.env.local.php”,那么您应该有如下内容

$env='yourHostName.local'


当我使用getenv()替换database.php中的硬编码值时,我遇到了这个问题

您确定正在加载正确的环境吗?你可以在终点站检查它,然后按照你的项目路线进行操作

php artisan环境

如果不是正确的,可以在start.php文件中修复它

例如,如果您的本地环境文件(在项目的根目录中)在start.php文件中被称为“.env.local.php”,那么您应该有如下内容

$env='yourHostName.local'


您可以通过在根文件夹.env文件中添加数据库名称用户名密码临时解决此问题。

您可以通过在中添加数据库名称用户名密码临时解决此问题根文件夹.env文件。

我遇到了相同的问题,您只需更改.env文件中的APP_env即可

APP_ENV=localhost.local

我遇到了同样的问题,您只需更改.ENV文件中的APP_ENV即可

APP_ENV=localhost.local

我有完全相同的问题,但只有当我有几个用户同时访问该站点时才会发生(大约有10个++用户)。以下是错误消息:
exception'PDOException'和消息'SQLSTATE[3D000]:无效目录名称:1046未选择数据库'C:\laravel\..\vendor\laravel\framework\src\light\database\Connection.php:292
在my database.php上,数据库、用户名和密码的值来自my
.env
文件。有什么想法吗?我有完全相同的问题,但只有当我有几个用户同时访问该网站时才会出现(大约有10++用户)。以下是错误消息:
exception'PDOException'和消息'SQLSTATE[3D000]:无效目录名称:1046未选择数据库'C:\laravel\..\vendor\laravel\framework\src\light\database\Connection.php:292
在my database.php上,数据库、用户名和密码的值来自my
.env
文件。有什么想法吗?