本文介绍如何将ThinkPHP应用部署到函数计算。与传统的部署方法相比,您可以跳过购买机器等步骤,将传统的ThinkPHP应用一键部署至远端直接用于生产,并且还拥有弹性伸缩、按量付费和免运维等特性。

前提条件

您已完成以下操作:
注意

本文介绍的如何使用Funcraft迁移传统框架的相关内容,后期将不再维护,建议您使用Serverless Devs迁移相关框架到函数计算。关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs

关于如何使用Serverless Devs迁移Web框架的详细操作,请参见使用Serverless Devs迁移Web框架

由此带来的不便,敬请谅解!

背景信息

ThinkPHP是一个免费开源、快速简单及面向对象的轻量级PHP开发框架,是为了敏捷Web应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着您可以免费使用ThinkPHP,甚至允许把您基于ThinkPHP开发的应用开源或商业产品发布、销售。

操作步骤

注意

本文介绍的如何使用Funcraft迁移传统框架的相关内容,后期将不再维护,建议您使用Serverless Devs迁移相关框架到函数计算

由此带来的不便,敬请谅解!

  1. 执行以下命令创建一个ThinkPHP项目。
    composer create-project topthink/think tp                        
    说明 若已有ThinkPHP项目则跳过该步骤。
  2. 执行以下命令进入ThinkPHP项目。
    cd <project-name>            
  3. 执行以下命令运行本地项目。
    php think run           
  4. 执行fun deploy -y命令将项目部署至函数计算。
    fun deploy -y
    预期输出:
    current folder is not a fun project.
    downloading nginx and php7.2 zip from https://gosspublic.alicdn.com/fun/frameworks/support/fun-support-custom-php-d73a6bd6.zip to /private/var/folders/wl/_2ngtj291wx1cj55xlnn290w0000gn/T/fun-support-custom-php-d73a6bd6.zip...
    extract nginx and php7.2 zip to custom runtime...
    Generating 
    ... ... ...
            trigger httpTrigger deploy success
        function tp deploy success
    service tp deploy success
    Detect 'DomainName:Auto' of custom domain 'Domain'
    Request a new temporary domain ...
    The assigned temporary domain is 15631862-XXX.test.functioncompute.com,expired at 2020-04-10 13:17:42, limited by 1000 per day.
    Waiting for custom domain Domain to be deployed...
    custom domain Domain deploy success         

    部署成功后,您可以在日志中看到函数计算为您生成的临时域名,通过这个临时域名您可直接访问刚部署的应用。

    说明 临时域名仅用作演示以及开发,具有时效性。如需用作生产,请绑定已经在阿里云备案的域名。详细信息,请参见绑定自定义域名