PHP Artisan返回Laravel中数据库连接的访问被拒绝

k97glaaz  于 2022-11-18  发布在  PHP
关注(0)|答案(4)|浏览(179)

我转移了一个基于moving Laravel project between computers的Laravel项目
第一眼看起来一切都很好。我可以安装 composer 没有任何问题,然后我设置我的环境变量在我的.env,如数据库名称,数据库用户等。
当我开始使用以下命令时,

php artisan cache: clear

我得到了这两个错误,
在Connection.php第664行中:
SQLSTATE[HY 000] [1045]使用者'root'@'localhost'的存取被拒(使用密码:是)(SQL:从信息模式.表中选择 *,其中表模式=*且表名称=**)
在Connector.php的第67行:
SQLSTATE [HY 000] [1045]拒绝使用者'root'@'localhost'的存取(使用密码:是的)
更多信息:
1.应用程序似乎未读取.env,因为当我浏览应用程序主页时,出现了显示环境变量为空的“Whoops”错误。x1c 0d1x
1.我测试了我的数据库连接,如它的用户名,密码,和其他参数,我知道他们都工作正常。
最后,我附上了一张照片,以便详细说明问题。

1.有趣的是,在我的.env文件中,DB_DATABASE值为“nlp”,DB_USERNAME等于“Javad”,但正如您在错误中看到的,它们不起作用,Artisan假定root为用户!

y0u0uwnf

y0u0uwnf1#

将Laravel项目移动到另一个位置后,首先要做的是从应用程序根目录运行以下命令,在.env文件中重新生成APP_KEY

php artisan key:generate

然后,重新配置缓存:

php artisan config:cache

此外,请确保.env文件和config/database.php中的所有数据库参数都正确,并且与以前的Laravel设置相同-您可以手动更改这些参数,然后如上所示重新配置高速缓存。如果不正确(例如,数据库名称已更改),则可能需要再次重新运行数据库移植和种子程序:

php artisan migrate

php artisan db:seed
zqry0prt

zqry0prt2#

我认为apache用户无法写入配置文件,因为您使用的是apache。请确保您已为该用户提供了bootstrap/cache的写入权限。此目录包含缓存的配置文件。如果是这样,则会从此处加载恭喜您的配置,并加载可能导致此问题的之前使用的配置。
你也需要给存储目录写权限。因为有日志文件,apache用户也需要写。

qv7cva1a

qv7cva1a3#

打开.env文件并编辑它。只需设置正确的DB凭据:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=            // Your Database Name
DB_USERNAME=           // Your Database Username, If no username has been set then by default there is a root as a username
DB_PASSWORD=          // Your Database Password, If no password is set on the database, clear it

完成.env编辑后,请在终端中输入以下命令以清除缓存:

php artisan config:cache

如果仍然存在相同的错误,请尝试其他可能的解决方案。

我也面临同样的问题,我尝试了所有可能的答案在StackOverflow,但没有什么可以帮助我,这个解决方案工作的第一次尝试:
如果您使用的是PHP的默认Web服务器(例如php artisan serve),则需要在更改.env文件值后重新启动服务器。
我从这里找到了这个解决方案laravel.io(阅读Byjml的解决方案)

sqyvllje

sqyvllje4#

**步骤1:**转到项目路径project_name\bootstrap\cache文件夹,并从所述文件夹中删除标记的文件config.php。x1c 0d1x
**步骤2:**运行以下命令

composer dump-autoload
 php artisan clear-compiled

 php artisan config:clear
 php artisan cache:clear
 php artisan config:cache

我希望它现在能起作用!

相关问题