主要遇到了以下几个问题:
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;
3、接下来报错:“...Unknown database 'databaseName'”,即未定义的数据库 'databaseName',但是我在上面第2步确实定义了此数据库,后来发现还是 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
完成上面这一步后才成功运行了 thinkPHP 项目,真是一波三折啊!