Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @serverless/tencent-thinkphp with all npm packages installed. Try it out:

var tencentThinkphp = require("@serverless/tencent-thinkphp")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@serverless/tencent-thinkphp v1.0.4

Tencent Cloud ThinkPHP Serverless Component

Tencent ThinkPHP Serverless Component

Tencent ThinkPHP Serverless Component

npm NPM downloads

简体中文 | English

Introduction

ThinkPHP Serverless Component for Tencent Cloud.

Content

  1. Prepare
  2. Install
  3. Create
  4. Configure
  5. Deploy
  6. Remove

0. Prepare

Initial ThinkPHP Project

Before use this component, you should init a ThinkPHP project:

$ composer create-project topthink/think serverless-thinkphp

Notice:ThinkPHP use Composer manage dependencies, so you should install Composer firstly. Refer to Official Install

1. Install

Install the Serverless Framework globally:

$ npm install -g serverless

2. Create

Just create the following simple boilerplate:

$ touch serverless.yml
$ touch .env           # your Tencent api keys

Add the access keys of a Tencent CAM Role with AdministratorAccess in the .env file, using this format:

# .env
TENCENT_SECRET_ID=XXX
TENCENT_SECRET_KEY=XXX
  • If you don't have a Tencent Cloud account, you could sign up first.

3. Configure

# serverless.yml

MyThinkPHP:
  component: '@serverless/tencent-thinkphp'
  inputs:
    region: ap-guangzhou
    functionName: thinkphp-function
    code: ./
    functionConf:
      timeout: 10
      memorySize: 128
      environment:
        variables:
          TEST: abc
      vpcConfig:
        subnetId: ''
        vpcId: ''
    apigatewayConf:
      protocols:
        - https
      environment: release

4. Deploy

Notice: Before deploying, you should clear local run config cache, run php think clear.

$ sls --debug

  DEBUG ─ Resolving the template's static variables.
  DEBUG ─ Collecting components from the template.
  DEBUG ─ Downloading any NPM components found in the template.
  DEBUG ─ Analyzing the template's components dependencies.
  DEBUG ─ Creating the template's components graph.
  DEBUG ─ Syncing template state.
  DEBUG ─ Executing the template's components graph.
  DEBUG ─ Compressing function thinkphp-function file to /Users/yugasun/Desktop/Develop/serverless/tencent-thinkphp/example/.serverless/thinkphp-function.zip.
  DEBUG ─ Compressed function thinkphp-function file successful
  DEBUG ─ Uploading service package to cos[sls-cloudfunction-ap-guangzhou-code]. sls-cloudfunction-default-thinkphp-function-1584413066.zip
  DEBUG ─ Uploaded package successful /Users/yugasun/Desktop/Develop/serverless/tencent-thinkphp/example/.serverless/thinkphp-function.zip
  DEBUG ─ Creating function thinkphp-function
  DEBUG ─ Created function thinkphp-function successful
  DEBUG ─ Setting tags for function thinkphp-function
  DEBUG ─ Creating trigger for function thinkphp-function
  DEBUG ─ Deployed function thinkphp-function successful
  DEBUG ─ Starting API-Gateway deployment with name ap-guangzhou-apigateway in the ap-guangzhou region
  DEBUG ─ Service with ID service-qndauhr4 created.
  DEBUG ─ API with id api-6krpwfpo created.
  DEBUG ─ Deploying service with id service-qndauhr4.
  DEBUG ─ Deployment successful for the api named ap-guangzhou-apigateway in the ap-guangzhou region.

  MyThinkPHP:
    functionName:        thinkphp-function
    functionOutputs:
      ap-guangzhou:
        Name:        thinkphp-function
        Runtime:     Php7
        Handler:     serverless-handler.handler
        MemorySize:  128
        Timeout:     10
        Region:      ap-guangzhou
        Namespace:   default
        Description: This is a template function
    region:              ap-guangzhou
    apiGatewayServiceId: service-qndauhr4
    url:                 https://service-qndauhr4-1251556596.gz.apigw.tencentcs.com/release/
    cns:                 (empty array)

  18s › MyThinkPHP › done

Notice: sls is short for serverless command.

 

5. Remove

$ sls remove --debug

  DEBUG ─ Flushing template state and removing all components.
  DEBUG ─ Removed function thinkphp-function successful
  DEBUG ─ Removing any previously deployed API. api-6krpwfpo
  DEBUG ─ Removing any previously deployed service. service-qndauhr4

  8s › MyThinkPHP › done

More Components

Checkout the Serverless Components repo for more information.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free