在云虚拟主机部署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 相关文章推荐
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
php SQL之where语句生成器
Mar 24 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
php7 安装yar 生成docker镜像
May 09 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
python网络编程之文件下载实例分析
2015/05/20 Python
python使用opencv进行人脸识别
2017/04/07 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Django stark组件使用及原理详解
2019/08/22 Python
Django中使用Celery的方法步骤
2020/12/07 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
sort命令的作用和用法
2012/11/04 面试题
总裁岗位职责
2013/12/04 职场文书
大学三年的自我评价
2013/12/25 职场文书
大学生演讲稿
2014/04/25 职场文书
军训新闻稿范文
2015/07/17 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
python playwright之元素定位示例详解
2022/07/23 Python