tencent cloud

Serverless Cloud Function

Release Notes and Announcements
Release Notes
Announcements
User Guide
Product Introduction
Overview
Related Concepts
How It Works
Strengths
Scenarios
Related Products
Purchase Guide
Billing Overview
Billing Mode
Billable Items and Billing Modes
Function Computing Power Support
Free Tier
SCF Pricing
Billing Example
Payment Overdue
Getting Started
Creating Event Function in Console
User Guide
Quota Management
Managing Functions
Web Function Management
Log Management
Concurrence Management
Trigger Management
Function URL
A Custom Domain Name
Version Management
Alias Management
Permission Management
Running Instance Management
Plugin Management
Managing Monitors and Alarms
Network Configuration
Layer Management
Execution Configuration
Extended Storage Management
DNS Caching Configuration
Resource Managed Mode Management
Near-Offline Resource Hosting Model
Workflow
Triggers
Trigger Overview
Trigger Event Message Structure Summary
API Gateway Trigger
COS Trigger
CLS Trigger
Timer Trigger
CKafka Trigger
Apache Kafka Trigger
MQTT Trigger
Trigger Configuration Description
MPS Trigger
CLB Trigger Description
TencentCloud API Trigger
Development Guide
Basic Concepts
Testing a Function
Environment Variables
Dependency Installation
Using Container Image
Error Types and Retry Policies
Dead Letter Queue
Connecting SCF to Database
Automated Deployment
Cloud Function Status Code
Common Errors and Solutions
Developer Tools
Serverless Web IDE
Calling SDK Across Functions
Third-Party Tools
Code Development
Python
Node.js
Golang
PHP
Java
Custom Runtime
Deploying Image as Function
Web Framework Development
Deploying Framework on Command Line
Quickly Deploying Egg Framework
Quickly Deploying Express Framework
Quickly Deploying Flask Framework
Quickly Deploying Koa Framework
Quickly Deploying Laravel Framework
Quickly Deploying Nest.js Framework
Quickly Deploying Next.js Framework
Quickly Deploying Nuxt.js Framework
Quickly Deploying Django Framework
Use Cases
Overview
Solutions with Tencent Cloud Services
Business Development
TRTC Practices
COS Practices
CKafka Practice
CLS
CLB Practice
MPS
CDN
CDWPG
VOD
SMS
ES
Scheduled Task
Video Processing
Success Stories
Tencent Online Education
Online Video Industry
Tencent Online Education
Best Practice of Tencent IEG Going Global
API Documentation
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
Function and Layer Status Description
Data Types
Error Codes
SDK Documentation
FAQs
General
Web Function
Billing FAQs
Network FAQs
Log FAQs
SCF utility class
Event Handling FAQs
API Gateway Trigger FAQs
Related Agreement
Service Level Agreement
Contact Us
Glossary

Quickly Deploying Laravel Framework

PDF
Focus Mode
Font Size
Last updated: 2025-10-28 14:40:04

Overview

This document describes how to use an HTTP-triggered function to quickly migrate a local Laravel service to the cloud.

Prerequisites

Before using SCF, you need to sign up for a Tencent Cloud account and complete identity verification first.

Directions

Template deployment: Quick deployment of Laravel project

1. Log in to the SCF console and click Functions on the left sidebar.
2. Select the region and namespace where to create a function at the top of the page and click Create to enter the function creation process.
3. Select Template, enter WebFunc in the search box to filter all HTTP-triggered function templates, select the Laravel template, and click Next.
4. On the Create page, you can view and modify the specific configuration information of the template project.
5. Click Complete. After creating the HTTP-triggered function, you can view its basic information on the Function management page.
6. Click Trigger management on the left to view the access path and access your deployed Laravel project as shown below:


7. Click the access path URL to access the Laravel project as shown below:



Custom deployment: Quick migration of local project to cloud

Local development

1. Refer to Getting Started on macOS to set up the Laravel development environment locally.
2. Create the sample Laravel project locally. Enter the project directory and run the following command to initialize it.
composer create-project --prefer-dist laravel/laravel blog

3. Run the following command to start the sample project locally. Below is the sample code:
$ php artisan serve --host 0.0.0.0 --port 9000
Laravel development server started: <http://0.0.0.0:9000>
[Wed Jul 7 11:22:05 2021] 127.0.0.1:54350 [200]: /favicon.ico

4. Visit http://0.0.0.0:9000 in a browser, and you can access the sample Laravel project locally as shown below:



Deployment in cloud

Perform the following steps to make simple modifications to the initialized project, so that it can be quickly deployed through an HTTP-triggered function. The steps of project transformation are as follows:
1. Add the scf_bootstrap bootstrap file Create the scf_bootstrap bootstrap file in the project root directory. This file is used to configure environment variables, specify service bootstrap commands, and make sure that your service can be started normally through this file.
Note:
scf_bootstrap must have the executable permission of 755 or 777.
If you want to output environment variables in the log, you need to add the -u parameter before the bootstrap command, such as python -u app.py.
2. Modify the file read/write path In the SCF environment, only files in the /tmp directory are readable/writable. If you select other directories, write will fail due to the lack of permissions. Therefore, you need to inject environment variables in the scf_bootstrap file to adjust the output directory of the Laravel framework:
#!/bin/bash

# Inject the SERVERLESS flag
export SERVERLESS=1
# Modify the template compilation cache path, as only `/tmp` is readable/writable in SCF
export VIEW_COMPILED_PATH=/tmp/storage/framework/views
# Modify `session` to store it in the memory (array type)
export SESSION_DRIVER=array
# Output logs to `stderr`
export LOG_CHANNEL=stderr
# Modify the application storage path
export APP_STORAGE=/tmp/storage

# Initialize the template cache directory
mkdir -p /tmp/storage/framework/views
3. Modify the listening address and port The listening port in the HTTP-triggered function must be 9000, so you need to specify the listening port in scf_bootstrap through the following command:
/var/lang/php7/bin/php artisan serve --host 0.0.0.0 --port 9000
The content of scf_bootstrap is as follows:


4. Deploy Laravel After the local configuration is completed, run the bootstrap file and make sure that your service can be normally started locally. Then, perform the following steps to deploy Laravel:
4.1 Log in to the SCF console and click Functions on the left sidebar.
4.2 Select the region where to create a function at the top of the page and click Create to enter the function creation process.
4.3 Select Create from scratch and configure the options as prompted:
Function type: Select HTTP-triggered function.
Function name: Enter the name of your function.
Region: Enter your function deployment region, such as Chengdu.
Runtime environment: Select Php7.
Submitting method: Select Local folder and upload your local project. -Function codes: Select the specific local folder where the function code is.
4.4 After the deployment is completed, click the generated URL to access your Laravel application as shown below:



Development management

After the deployment is completed, you can quickly access and test your web service in the SCF console and try out various features of SCF, such as layer binding and log management. In this way, you can enjoy the advantages of low cost and flexible scaling brought by the serverless architecture.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback