如何在好雨云部署ThinkPHP框架程序
前言
好雨支持源码及各种框架的自动识别和自动部署,我们可以直接提交github
的仓库地址,也可以将代码提交到好雨git
代码仓库。
自动识别
如果代码的根目录下有index.php
或者composer.json
文件,那么好雨会自动识别为php语言。
自动构建
好雨会根据composer.json
的配置进行依赖的下载构建,如下面我们给出的示例,我们推荐您使用php5.6
以上的版本可以更好的支持ThinkPHP5
。
composer.json
文件示例:
{
"name": "topthink/think",
"description": "the new thinkphp framework",
"type": "project",
"keywords": [
"framework",
"thinkphp",
"ORM"
],
"homepage": "http://thinkphp.cn/",
"license": "Apache-2.0",
"authors": [
{
"name": "liu21st",
"email": "liu21st@gmail.com"
}
],
"require": {
"php": ">=5.6.0",
"topthink/framework": "^5.0.4",
"topthink/think-captcha": "^1.0.7",
"topthink/think-testing": "^1.0"
},
"extra": {
"think-path": "thinkphp"
},
"config": {
"preferred-install": "dist"
}
}
如果代码的根目录下有composer.lock文件,务必删掉,否则平台将从这里读取版本信息。好雨云在构建的过程中会自动生成这个文件。
web服务器的选择
您无需自已安装和配置web服务器,好雨会自动提供apache
和nginx
服务器供您选择使用,因为ThinkPHP框架会使用.htaccess
文件来自定义Apache
的跳转规则,所以您应该选择apache
做为web服务器。
更多关于web服务器的内容请参见自定义Web Server。
设置Document Root
按照
ThinkPHP5
默认,入口文件位于public/index.php
,入口文件位置的设计是为了让应用部署更安全,public
目录为web可访问目录,其他的文件都可以放到非WEB访问目录下面。
很多用户的应用并不是将代码跟目录作为Web Server的主目录,例如ThinkPHP5
框架要求Document root
是 public
目录。这就需要我们将Document root
设置到 跟目录中下的public
二级目录中。
配置的方法是在代码的根目录下写一个Procfile
文件,内容如下:
web: vendor/bin/heroku-php-apache2 public/
这段配置是告诉平台用apache
来做为web服务器,并将public
目录做为web根目录。
如何配置数据库
好雨云
提供一点即用的数据库应用,可以直接一键部署安装,以mysql为例,当安装好mysql
以后,可以在web
程序的依赖选项中配置关联此mysql
应用,进行关联后,可以得到mysql
的连接信息,用于在程序里配置数据库连接使用。当然,也可以使用变量。
更多内容
如果您想了解更多内容,如php的调优,web服务器的配置,请参见好雨文档。