在云虚拟主机部署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 chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
修改PHP的memory_limit限制的方法分享
Feb 21 PHP
php文本转图片自动换行的方法
Mar 13 PHP
php防止sql注入代码实例
Dec 18 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
php中opendir函数用法实例
Nov 15 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
php装饰者模式简单应用案例分析
Oct 23 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
php查看session内容的函数
2008/08/27 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
js微信分享实现代码
2020/10/11 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
python对execl 处理操作代码
2020/06/22 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
法雷奥SQA(electric)面试问题
2016/01/23 面试题
新郎新娘婚礼答谢词
2014/01/11 职场文书
优秀员工推荐信
2014/05/10 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle