<返回更多

小程序云托管无需服务器部署PHP

2021-01-18    
加入收藏

小程序发布至今也有几年了,围绕小程序开发的生态做的非常丰富,云开发出来之后更是方便了我们快速开发上线一个小程序。使用云开发,我们无需自己去单独购买阿里云,腾讯云的服务器,只要开通小程序云开发,即刻拥有云服务器环境,开通后可以免费使用1个月,但是配置不是很高,但这足以应付绝大多数的应用了,当然用的人多了也可以在小程序云开发上快速横向扩展。今天就来说说怎么用小程序云托管部署php程序代码。

1. 开通云开发

小程序云托管无需服务器部署PHP

 

进入小程序管理后台,点击开发-云开发,进入后直接开通,这个是免费的。

2. 开通云托管

进入小程序开发者工具,点击云开发:

小程序云托管无需服务器部署PHP

 

在云开发控制台开通云托管,也可以在 “设置 -> 拓展功能” 中开通。:

小程序云托管无需服务器部署PHP

 

3. 创建服务

这里以PHP为例子,其他的都差不多,点击创建服务,填写服务名称后点确定:

小程序云托管无需服务器部署PHP

 

4. 准备代码

创建一个空文件夹用于放我们的PHP代码:

mkdir helloworld
cd helloworld

创建index.php并写入如下内容:

<?php
  echo 'Hello World!';

创建Dockerfile并编辑如下:

# 使用官方 PHP 7.3 镜像.
# https://hub.docker.com/_/php
FROM php:7.3-Apache

# 将本地代码复制到容器内
COPY index.php /var/www/html/

# Apache 配置文件内使用 8080 端口
RUN sed -i 's/80/8080/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf

# 将 PHP 配置为开发环境
# 如果您需要配置为生产环境,可以运行以下命令
# RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
# 参考:https://hub.docker.com/_/php#configuration
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"

添加.dockerignore文件

Dockerfile
README.md
vendor

这个文件的内容是要排除指定的内容。

新建服务版本

给刚刚创建的服务添加一个版本:

小程序云托管无需服务器部署PHP

 

选择本地上传:

小程序云托管无需服务器部署PHP

 

云托管支持本地上传和代码库拉取两种方式:

需要注意,文件夹或 ZIP 压缩包上传的代码中不能超过 2 MB

在创建版本时,可以选择「稍后配置」或「开启 100% 流量」两种流量配置,若选择「稍后配置」,该版本将不会被分配流量。

点击确认后,就会自动帮你创建了:

小程序云托管无需服务器部署PHP

 

点击版本右侧的「详情」,可以查看版本的详细信息,包括版本的构建日志,版本详情以及实例信息:

调用云托管服务

调用云托管服务需要基础版本库在2.13.1以上,先检查下当前的基础库版本:

小程序云托管无需服务器部署PHP

 

调用云托管服务

在小程序中,使用如下的代码就可以调用云托管容器:

// 确认已经在 onLaunch 中调用过 wx.cloud.init 初始化环境
const res = await wx.cloud.callContainer({
  path: '/container-helloworld', // 填入容器的访问路径(云托管-服务列表-路径)
  method: 'GET',
})

console.log(res)

在 Web 端,可以使用如下代码进行调用:

// 初始化 Cloud 实例
// 容器调用必填环境id,不能为空
var c1 = new wx.cloud.Cloud({
  resourceEnv: '环境id'
})
await c1.init()

// 返回值同 wx.request
const res = await c1.callContainer({
  path: '/container-helloworld', // 填入容器的访问路径(云托管-服务列表-路径)
  // 其余参数同 wx.request
  method: 'POST',
})

console.log(res)
小程序云托管无需服务器部署PHP

 

学会部署PHP,后其他环境也都差不多,比如node、Python,都大同小异。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>