猿问

上传写好的laravel项目到linux服务器上面去,但是无法读取数据库文件,无从下手。

1、如题上传laravel框架写的php项目上传至阿里云服务器,用的是centos7.2版本。上传之前先用本地的navicat软件远程连接到了数据库,并在linux上面设置了连接mysql的权限和帐号,这个步骤应该是对的。如图 fresh-a就是连接的帐号

2、然后项目上传成功检查了文件,没有丢一个,都在的。先出了点问题是storage文件夹没权限,然后给更改了。https://img.mukewang.com/5c8f50f10001566204320032.jpg也在网上找参考资料更改了.env文件https://img2.mukewang.com/5c8f50f20001630b02010106.jpg

3、然后测试是否能运行起来,但是失败了https://img2.mukewang.com/5c8f50f30001300608000078.jpg

4、有点懵,然后我觉得可能要更改database.php的文件设置。于是又去更改https://img.mukewang.com/5c8f50f5000108b704560228.jpg

5、然后并没什么卵用,还是报的那个错,我就又在laravel文件里写了一个index.php测试文件,用我存数据库那个帐号连接数据库,显示的是连接成功。回过头来半天想不明白,也尝试百度了,搜出来基本都是一些larvavel数据库配置之类的东西,在这个论坛上看到了一样的问题但是每人回答,可能是没写详细,所以没人回答。
6、不明白为什么它总是去找那个root连接数据库,那个root从哪里冒出来的,麻烦大佬解解惑。感激不尽。如果还有什么没说清楚的,请告诉我。谢谢

神不在的星期二
浏览 559回答 1
1回答

郎朗坤

env('DB_USERNAME', 'forge') 代码是在 .env 文件里没有配置 DB_USERNAME 时才采用第二个参数的值。 你已经通过 .env 文件里的数据配置项去配置数据库信息,所以再 database.php 去修改配置是没有作用的。 根据错误提示:你是使用 root 账号去访问 localhost 的本地 mysql,但是你的 .env 和 database.php 文件中都是配置的一个具体 IP 地址。 所以肯定不是去读取的这两个文件,所以需要确定: 配置是否有缓存。 是否有其他配置覆盖了你的配置。
随时随地看视频慕课网APP
我要回答