当前位置: 首页 > 后端技术 > PHP

如何在云虚拟主机上部署thinkphp5项目

时间:2023-03-29 22:23:13 PHP

查阅ThinkPHP5.0完整开发手册->部署->虚拟主机环境,了解情况后开始修改。环境thinkphp5.0.11阿里云虚拟系统CentOS第一步修改移动入口文件位置,移动到根目录下(即htdocs)。修改index.php入口文件内容//定义应用目录define('APP_PATH',__DIR__.'/application/');//加载框架启动文件require__DIR__.'/thinkphp/start.php';复制这里的代码访问过,但是点击内页看,路径重写不生效。因为缺少.htaccess文件。第二步是将.htaccess文件也移动到根目录。您现在可能已经解决了问题。如果未解决,请继续阅读。第3步安全!因为你把入口文件移到了根目录下,框架下的所有目录都暴露了。如果apache服务器不处理它。然后您可以直接访问重要文件。不管他有没有处理过,直接给目录下的每个目录发一个.htaccess。然后写denyfromall。拒绝所有复制代码。第四步解决:针对css、js、图片等静态资源的404。因为public目录被移出,所以找不到文件。需要替换所有目录路径。如果你使用__PUBLIC__,__STATIC__,__CSS__,__JS__等来写,那么恭喜你,直接在配置里改view_replace_str就行'view_replace_str'=>['__PUBLIC__'=>'/public','__STATIC__'=>'/public/static','__CSS__'=>'/public/static','__JS__'=>'/public/static',],复制代码如果没有,则所有视图文件,所有使用路径的地方替换目录/全面公开/静态。复制代码时特别容易忽略的地方就是css中的后台路径和自定义上传路径。请注意。第五步,Linux下的文件路径是区分大小写的。比如你的:controller方法名是:publicfunctionuserCenter()对应的视图文件是:userCenter.html,那么访问的时候发现找不到视图文件,报错。解决方法:方法一,将模板文件名全部小写;方法二、$this->fetch('模板文件名');方法三,$this->fetch(__FUNCTION__),但要求视图文件名跟方法同名。测试网站所有功能,ok没问题,部署配置完成。