This topic describes how to deploy a ThinkPHP application to Function Compute. Function Compute provides a method different from traditional deployment methods. You can deploy a traditional ThinkPHP application to Function Compute and use the application for production without performing operations such as purchasing a server. The deployed ThinkPHP application can use the auto-scaling, pay-as-you-go, and O&M-free features of Function Compute.


Before you begin, make sure that the following operations are complete:

Background information

ThinkPHP is an open source, fast, simple, lightweight, and object-oriented PHP development framework. ThinkPHP is designed to develop agile web applications and simplify enterprise application development. For more information, visit the ThinkPHP official website. Based on the guidelines of simplicity and practicality, ThinkPHP is characterized by excellent performance, simple in code, but also pays more attention to ease of use. You can use ThinkPHP free of charge because it is distributed under the Apache2 open source license. You can release applications that you develop in ThinkPHP as open source projects or commercial products.


  1. Run the following command to create a ThinkPHP application. If a ThinkPHP application is already created, you can skip this step.
    composer create-project topthink/think tp                        
  2. Run the following command to enter the ThinkPHP application:
    cd <project-name>            
  3. Run the following command to run the on-premises application:
    php think run           
  4. Run the fun deploy -y command to deploy the application to Function Compute.
    fun deploy -y
    Expected output:
    current folder is not a fun project.
    downloading nginx and php7.2 zip from to /private/var/folders/wl/_2ngtj291wx1cj55xlnn290w0000gn/T/
    extract nginx and php7.2 zip to custom runtime...
    ... ... ...
            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, 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         

    After the application is deployed, you can check the logs to find the temporary domain name that Function Compute generated. You can use this temporary domain name to access the deployed application.

    Note The temporary domain name is used only for demonstration and development purposes. It is valid for a limited period of time. To use an application in a production environment, you must bind the application to a domain name that has obtained an Internet Content Provider (ICP) filing from Alibaba Cloud. For more information, see Bind a custom domain name.