使用 PHP 构建 GCP 云应用的全面教程

王林
发布: 2024-06-07 16:54:02
原创
1074人浏览过

本教程指导使用 php 构建和部署 gcp 云应用,涵盖环境设置、使用 cloud functions、cloud storage、cloud sql 以及实战案例:创建留言板应用。环境设置: 安装 php、composer,创建 gcp 项目,启用 cloud sdk。cloud functions: 创建无服务器代码处理程序,并将其部署为 http 触发器。cloud storage: 创建存储桶,上传文件。cloud sql: 创建托管式数据库实例,并建立连接。实战案例:留言板应用 使用 cloud functions、cloud storage 和 cloud sql 创建一个简单的留言板应用程序。

使用 PHP 构建 GCP 云应用的全面教程

使用 PHP 构建 GCP 云应用的全面教程

简介

Google Cloud Platform (GCP) 是一套强大的云服务,提供各种工具和基础设施来创建和部署可扩展、高可用和安全的应用程序。本教程旨在指导您使用 PHP 构建和部署 GCP 云应用。

立即学习PHP免费学习笔记(深入)”;

环境设置

  • 安装 PHP
  • 安装 Composer
  • 设置 GCP 项目并启用 Cloud SDK

创建应用

  1. 使用 Composer 安装 Google Cloud Client Libraries:
composer require google/cloud
登录后复制
  1. 创建项目根目录:
mkdir my-app
cd my-app
登录后复制
  1. 初始化 Git 存储库:
git init
git add .
git commit -m "Initial commit"
登录后复制

使用 Cloud Functions

Cloud Functions 是无服务器计算服务,允许您执行事件触发的代码。

  1. 创建一个 Cloud Function handler:
<?php
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;

function helloWorld(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
    $body = "Hello World!";

    $response->getBody()->write($body);
    return $response
        ->withStatus(200)
        ->withHeader('Content-Type', 'text/plain');
}
登录后复制
  1. 部署 Cloud Function:
gcloud functions deploy hello-world \
--runtime php74 \
--entry-point helloWorld \
--trigger-http
登录后复制

使用 Cloud Storage

Cloud Storage 是对象存储服务,用于存储和管理不可变数据。

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店
  1. 创建一个 Cloud Storage Bucket:
use Google\Cloud\Storage\StorageClient;
use Google\Cloud\Storage\Bucket;

$storage = new StorageClient();
$storage->createBucket('my-bucket');
登录后复制
  1. 上传一个文件到 Cloud Storage:
$file = fopen('myfile.txt', 'r');
$storage->upload('my-bucket', 'myfile.txt', $file);
登录后复制

使用 Cloud SQL

Cloud SQL 是托管式数据库服务,可让您轻松设置、管理和扩展 MySQL、PostgreSQL 和 SQL Server 数据库。

  1. 创建一个 Cloud SQL 实例:
use Google\Cloud\Sql\Admin\V1\DatabaseAdminClient;
use Google\Cloud\Sql\Admin\V1\Instance;
use Google\Cloud\Sql\Admin\V1\InstanceId;

$admin = new DatabaseAdminClient();

$instanceId = new InstanceId(
    $projectId,
    $instanceRegion,
    $instanceName
);

$instance = new Instance();

$admin->createInstance($instanceId, $instance);
登录后复制
  1. 连接到 Cloud SQL 实例:
use PDO;

$dsn = sprintf('mysql:dbname=%s;host=%s;port=%s', $databaseName, $instanceHost, $port);
$conn = new PDO($dsn, $dbUser, $dbPwd);
登录后复制

实战案例:创建留言板应用

让我们创建一个简单的留言板应用程序,它将使用 Cloud Functions 接收请求、Cloud Storage 存储留言并使用 Cloud SQL 进行数据库操作。

创建 Cloud Function

<?php
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Google\Cloud\Spanner\SpannerClient;

function createMessage(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
    $payload = json_decode($request->getBody()->getContents(), true);
    $message = $payload['message'];

    // Connect to Cloud SQL
    $db = new SpannerClient([
        'projectId' => $projectId,
        'databaseId' => $databaseId,
    ]);

    $results = $db->execute('INSERT INTO Messages (message) VALUES (@message)', [
        'parameters' => ['message' => $message],
    ]);

    $body = json_encode($results->rows());

    $response->getBody()->write($body);
    return $response
        ->withStatus(200)
        ->withHeader('Content-Type', 'application/json');
}
登录后复制

部署 Cloud Function

gcloud functions deploy createMessage \
--runtime php74 \
--entry-point createMessage \
--trigger-http
登录后复制

创建 Cloud SQL 实例

use Google\Cloud\Sql\Admin\V1\DatabaseAdminClient;
use Google\Cloud\Sql\Admin\V1\Instance;
use Google\Cloud\Sql\Admin\V1\InstanceId;

$admin = new DatabaseAdminClient();

$instanceId = new InstanceId(
    $projectId,
    $instanceRegion,
    $instanceName
);

$instance = new Instance();
$instance->getDatabaseName() = $databaseName;

$admin->createInstance($instanceId, $instance);
登录后复制

连接到 Cloud SQL 实例

use PDO;

$dsn = sprintf('mysql:dbname=%s;host=%s;port=%s', $databaseName, $instanceHost, $port);
$conn = new PDO($dsn, $dbUser, $dbPwd);
登录后复制

结论

本教程为您提供了一个使用 PHP 构建并部署可扩展、高可用和安全的 GCP 云应用的基础知识。通过遵循这些步骤和示例,您可以释放 GCP 的强大功能,并为您的应用程序增添价值。

以上就是使用 PHP 构建 GCP 云应用的全面教程的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号