原文:
https://blog.csdn.net/Inite/article/details/73289444
参考:
https://blog.csdn.net/sinat_31801607/article/details/77555774
更正:本文里提到的服务器使用的是国外的,所以配置 'DB_HOST' 时得使用自己服务器的 server_ip,若是阿里云服务器则配置成 '127.0.0.1'。
主要遇到了以下几个问题:
1、报错:”1045 access denied for user 'root'@'localhost' using password yes”,百度之后发现是数据库用户权限问题还有
数据库密码设置问题,一一尝试过后依旧没能解决,最后突然发现我在 windows 本地使用的是 localhost 即 127.0.0.1访问
的, thinkPHP 项目配置文件关于配置项 'DB_HOST' => '127.0.0.1' 在本地服务器运行当然是正确的,但是现在已经上传至
Linux 服务器了,'DB_HOST' 应该配置成你的 Linux 服务器的访问域名或 ip。然后问题成功解决!
另外注意两个配置项要根据数据库用户名和密码而相应的设置:
- 'DB_USER' => 'root',
- 'DB_PWD' => '',//我之前把数据库设成了密码为空
2、接下来将本地数据库表导出数据库文件 file.sql ,然后通过命令上传至 Linux 服务器,可以使用如下命令:
- (1)选择数据库
- mysql>use dbName;
- (2)设置数据库编码
- mysql>set names utf8;
- (3)导入数据(注意sql文件的路径)
- mysql>source /filePath/file.sql;
义了此数据库,后来发现还是 thinkPHP 配置文件 APP/Common/Conf/config.php 里面的一个配置项:'DB_NAME' => 'name',
你要将 name 替换成你上面定义的数据库名,而且是区分大小写的(Linux 平台)。
4、接下来报错:“_STORAGE_WRITE_ERROR_:./APP/Runtime/Cache/Home/ca45bc9edb36ddb9191636ccff1c0883.php”,
字面意思是“存储写入错误即无权限”,百度后的解决方法很简单,直接一句话设置该文件目录的权限为 “777” 即可成功解决!
如你的项目文件都放在文件夹目录名为 “APP” 的文件夹里面,而且是在 /var/www 目录下,既可以通过以下命令设置:
- chmod -R 777 /var/www/APP