将Windows本机的thinkPHP项目上传到Linux服务器(阿里云服务器)

来源:互联网 发布:淘宝客怎么生成优惠券 编辑:程序博客网 时间:2024/06/06 16:57

       之前还没买服务器的时候,同学将他的服务器借我玩玩,我就将自己之前写的thinkPHP简陋的博客项目上传到上面试了一下,

虽然也碰到错误,最后通过百度都成功解决,详见前面的博文。前几天买了阿里云服务器,我就想把此项目上传到自己的Linux服务

器,结果碰到的错误比之前还多,最后还好成功通过百度解决了,下面是详细的内容:

问题一:我想将本地的 sql 文件上传到服务器,通过 Xshell 工具敲完命令行:mysql -uroot -p 然后回车敲完密码再回车之后一直报

错:Access denied for user ‘root’@’localhost’ (using password "NO"),最后通过百度解决方案如下:

原因应该是密码错误吧。进入 /etc/my.cnf 数据库配置文件添加 skip-grant-tables 然后点击保存就可以通过刚才的命令且不用密码

入 mysql,然后就可以自己通过命令修改完 mysql 登陆密码再还原之前的配置文件(去掉skip-grant-tables),最后保存修改后就可

以正常通过密码登陆 mysql 了,截图如下:








接下来导入数据库文件:




问题1:接下来我以为会顺利地访问到服务器上的项目,不曾想它报错:

SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'server-ip' (110),

百度后发现他们遇到的问题跟我还是不同,然后跟同学讨论之后发现可能是我项目配置文件 config.php 里面的 'DB_HOST' 写成了

我自己服务器 ip 导致的错误,得改成 '127.0.0.1' ,结果果然是这个问题。(这就奇怪了,之前我用同学的服务器上传的时候就是因

为将 'DB_HOST' 写成了 '127.0.0.1' 导致出错,后来我改成服务器 ip 就对了,结果猜测原因只能是因为他的服务器是国外的的缘故

了,而我这个阿里云服务器是国内的吧。啊啊!一脸懵逼!)


问题三:继续报新的错误:

_STORAGE_WRITE_ERROR_:./APP/Runtime/Cache/Home/ca45bc9edb36ddb9191636ccff1c0883.php

还好之前碰到过了,原因及解决方案如下:

字面意思是“存储写入错误即无权限”,搜索后的解决方法很简单,直接一句话设置该文件目录的权限


为 “777” 即可成功解决!

如你的项目文件都放在文件夹目录名为 “APP” 的文件夹里面,而且是在 /webdata 可以通过以下命令设置:

chmod -R 777 /webdata/APP


最后大功告成!

阅读全文
0 0