## 简介
在本章我们将完成 ThinkBBS 项目的创建,以及在功能代码开发前的一些环境设置和变量配置等。在本节,我们首先主要介绍怎样用 Homestead 来搭建 ThinkPHP 项目开发环境。
## 搭建步骤
因为 ThinkPHP 项目开发使用的操作系统和数据库配置和 Laravel 开发需要的环境完全相同,两者的唯一区别是 Nginx 的 `VirtualHost` 重写规则( rewrite )配置规则不一样。所以大家请按照 [Laravel开发环境部署](https://learnku.com/docs/laravel-development-environment/5.8) 来搭建开发环境。不过在执行到 `Homestead.yaml 配置文件` ([mac版](https://learnku.com/docs/laravel-development-environment/5.8/development-environment-macos/4372) 和 [windows版](https://learnku.com/docs/laravel-development-environment/5.8/development-environment-windows/4373)) 这一步时请对下面这个脚本文件的一段代码进行替换。
*scripts/serve-laravel.sh*
把以下这段代码:
```bash
location / {
try_files $uri $uri/ /index.php?$query_string;
}
```
替换成:
```bash
location / {
if (!-e \$request_filename) {
rewrite ^(.*)$ /index.php?s=/\$1 last;
}
}
```
替换以上代码的目地是让 Homestead 按照 ThinkPHP 项目的重写规则生成 VirtualHost 的重写规则。
**如果你使用 Homestead 同时开发 Laravel 、 ThinkPHP 或其它框架项目的话**,可以不替换上面这段代码,只需要在 [项目创建]() 这一节完成项目创建后替换 `/etc/nginx/sites-available/bbs.test` 里生成好的重写规则代码并重启 Nginx 服务。
另外,如果你使用的宿主操作系统是 Windows ,**强烈建议** 你按照 [Laravel Homestead:开启 NFS 解决站点响应缓慢](https://learnku.com/laravel/wikis/25550) 开启 NFS ,否则在开发过程中会出现网页响应速度缓慢。
>[info] 虽然本书是一个 ThinkPHP 开发教程,1)为了避免因为开发环境造成代码运行结果不同;2)教程主要是介绍 ThinkPHP 项目开发,不想花过多的精力来介绍 PHP扩展、MySQL 和 Redis 安装等内容,所以请大家严格按照以上要求设置完毕后再开始下一节内容学习。
- 第一章 基础信息
- 序言
- 关于作者
- PHP和ThinkPHP
- 如何正确阅读本书
- 写作约定
- 开发规范
- 章节体例
- 本书源码
- 第二章 舞台布置
- 开发环境
- 产品分解
- Git和GitHub
- 创建项目
- 数据库视图管理工具
- 统一代码风格
- 目录结构
- 配置信息
- 后台应用搭建
- 助手函数
- 前台布局模板
- 基础控制器
- 小结
- 第三章 注册登录
- 数据迁移
- 表单提交
- 表单验证
- 模型验证
- 短信提供商
- 发送短信
- 手机验证
- 注册提醒
- 登录与退出
- 重置密码
- 数据填充
- 小结
- 第四章 用户相关
- 个人中心
- 编辑个人资料
- 上传图片
- 上传头像
- 显示头像
- 限制头像分辨率
- 裁剪头像
- 显示注册时间
- 授权访问
- 小结
- 第五章 帖子列表
- 话题分类
- 话题模型
- 话题列表
- 性能优化
- 分类话题列表
- 话题列表排序
- 用户发布的话题
- 分页器美化
- 小结
- 第六章_帖子CURD
- 创建话题
- 生成摘要
- 编辑器优化
- 上传图片
- 显示话题
- 编辑话题
- 删除话题
- 小结
- 第七章 帖子回复
- 回复模型
- 回复列表
- 发表回复
- 删除回复
- XSS 安全漏洞
- 小结
- 第八章 角色权限和管理后台
- 多角色用户权限
- 用户管理
- 话题管理
- 回复管理
- 小结
- 第九章 杂项
- 边栏活跃用户
- 用户最后登录时间
- 边栏资源推荐
- 站点首页
- 小结
- 第十章 总结
- 全书总结
- 附录
- 浅谈ThinkPHP6.0 路由