如何在好雨云部署ThinkPHP框架程序

如何在好雨云部署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服务器,好雨会自动提供apachenginx服务器供您选择使用,因为ThinkPHP框架会使用.htaccess文件来自定义Apache的跳转规则,所以您应该选择apache做为web服务器。
更多关于web服务器的内容请参见自定义Web Server

设置Document Root

按照ThinkPHP5默认,入口文件位于public/index.php,入口文件位置的设计是为了让应用部署更安全,public目录为web可访问目录,其他的文件都可以放到非WEB访问目录下面。

很多用户的应用并不是将代码跟目录作为Web Server的主目录,例如ThinkPHP5框架要求Document rootpublic目录。这就需要我们将Document root设置到 跟目录中下的public二级目录中。

配置的方法是在代码的根目录下写一个Procfile文件,内容如下:

web: vendor/bin/heroku-php-apache2 public/

这段配置是告诉平台用apache来做为web服务器,并将public目录做为web根目录。

如何配置数据库

好雨云提供一点即用的数据库应用,可以直接一键部署安装,以mysql为例,当安装好mysql以后,可以在web程序的依赖选项中配置关联此mysql应用,进行关联后,可以得到mysql的连接信息,用于在程序里配置数据库连接使用。当然,也可以使用变量。

更多内容

如果您想了解更多内容,如php的调优,web服务器的配置,请参见好雨文档