在云虚拟主机部署thinkphp5项目的步骤详解


Posted in PHP onDecember 21, 2017

前言

Thinkphp作为开源的PHP框架发展到今天,无疑是国内最适合PHP学员学习和使用的框架,除了简单容易上手,更大的优点是开发文档完善、插件丰富。本文将给大家详细介绍关于在在云虚拟主机部署thinkphp5项目的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

查阅ThinkPHP5.0完全开发手册->部署->虚拟主机环境,了解情?r后,开始修改。

环境

  • thinkphp 5.0.11
  • 阿里云云虚拟系统CentOS

第一步

修改移动入口文件位置,把它移动到根目录下(即htdocs)。

修改index.php入口文件内容

// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

这下可以访问了,但点下内页看看,路径重写不生效了。因为缺少了.htaccess文件。

第二步

把.htaccess文件也移动到根目录下。

至此可能你已经解决了问题。没解决的接下来继续看。

第三步

安全性!

因为你将入口文件移到了跟目录,框架下的所有目录已经暴露了。

如果apache服务器没处理。那就可以直接访问重要文件。

不管他有没有做处理,直接跟目录下的每个目录都来个.htaccess。然后写入deny from all。

deny from all

好了。

第四步

解决: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',
],

如果不是,那就全部视图文件,所有用到用到路径的地方全盘替换目录

/public/static

特别容易忽略的地方是css里面的background路径,和自定义上传路径,请注意。

第五步

Linux下的文件路径大小写敏感。

例如你的:

控制器方法名是:public function userCenter()

对应视图文件是:userCenter.html,

那么你访问的时候发现视图文件找不到,报错了。

解决办法:

方法1、改模板文件名全为小写;

方法2、$this->fetch('模板文件名');

方法3、$this->fetch(__FUNCTION__),但要求视图文件名要跟方法名一样。

测试下网站所有功能,ok没问题,部署配置完毕。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
PHP处理会话函数大总结
Aug 05 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
php获取微信共享收货地址的方法
Dec 21 #PHP
php实现socket推送技术的示例
Dec 20 #PHP
PHP实现模拟http请求的方法分析
Dec 20 #PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 #PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 #PHP
PHP实现的最大正向匹配算法示例
Dec 19 #PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 #PHP
You might like
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php短信接口代码
2016/05/13 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
十佳青年事迹材料
2014/08/21 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书