PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝
Posted
技术标签:
【中文标题】PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝【英文标题】:PHP SQLSTATE[HY000] [1045] Access denied for user Laravel 【发布时间】:2015-06-15 08:31:21 【问题描述】:我正在与团队一起使用 SVN 开发一个项目(php Laravel 4.2),在我检查了我的磁盘(本地)上的存储库并尝试打开链接 localhost/mylaravel
后,我收到了这个错误
PDOException (1045) SQLSTATE[HY000] [1045] 拒绝用户访问 'dbusername'@'xx.xxx.xx.xxx'(使用密码:YES)
注意:我更改了真实的用户名和主机IP
数据库不在本地,它是远程在线托管的。但该项目位于本地主机上。
config/database.php
'connections' => array(
'sqlite' => array(
'driver' => 'sqlite',
'database' => __DIR__.'/../database/production.sqlite',
'prefix' => '',
),
/**
* remote database connection
*/
'mysql' => array(
'driver' => 'mysql',
'host' => 'hostIP:port',
'database' => 'mydatabasename',
'username' => 'mydbusername',
'password' => 'root123456',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
'pgsql' => array(
'driver' => 'pgsql',
'host' => 'localhost',
'database' => 'forge',
'username' => 'forge',
'password' => '',
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
),
'sqlsrv' => array(
'driver' => 'sqlsrv',
'host' => 'localhost',
'database' => 'database',
'username' => 'root',
'password' => '',
'prefix' => '',
),
)
【问题讨论】:
数据库是否有远程访问权限? 不,不止一个团队成员在同一个数据库上工作@NathanvanderWerf 我原以为错误很明显。您正在尝试访问数据库服务器,但您的用户名和/或密码不正确。 我认为我需要额外的配置,因为我使用的是 localhost @halfer 很有可能。如果您有本地数据库,则可以使用本地数据库凭据编辑此文件(我们显然无法告诉您这些凭据是什么 - 您需要设置它们)。此外,您可能希望添加一个环境系统,该系统可以检测您是在本地运行还是在远程服务器上运行,并自动连接到正确的服务器。 【参考方案1】:只需在终端中运行以下工匠命令。
1.php artisan cache:clear
2.php artisan config:cache
现在刷新您的网址,登录将完美运行。
【讨论】:
【参考方案2】:$ php artisan cache:clear
Application cache cleared!
$ php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
在终端的相应路径中运行 php artisan cache:clear 然后 php artisan config:cache。
以上应该是结果
【讨论】:
【参考方案3】:我遇到了同样的问题
-
php artisan 缓存:清除
php 工匠配置:缓存
但发现与我运行此工匠命令相同的问题
php artisan view:clear
希望它会有所帮助。 注意:我的项目是 Laravel 5.*
【讨论】:
【参考方案4】:只更改.env
文件,不要更改config/database.php
文件。请将config/database.php
文件设为默认。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 or IP address
DB_PORT=3306
DB_DATABASE='your database name'
DB_USERNAME='your username'
DB_PASSWORD='your password'
它对我有用!
【讨论】:
【参考方案5】:请运行命令行:
php artisan optimize
【讨论】:
以上是关于PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
CPanel SQLSTATE[HY000] [1045] 拒绝用户访问
连接失败:SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) 我正在尝试使用 PDO 连
SQLSTATE[HY000] [1045] 'user'@'localhost' 的访问被拒绝(使用密码:YES)
意外异常:SQLSTATE[HY000] [1045] 用户 ****@'localhost' 的访问被拒绝(使用密码:YES)
(“SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)