在云虚拟主机部署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+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
php全排列递归算法代码
Oct 09 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
php json与xml序列化/反序列化
Oct 28 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 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数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
城市创卫标语
2014/06/17 职场文书
农民工讨薪标语
2014/06/26 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
一些让Python代码简洁的实用技巧总结
2021/08/23 Python