如果您符合以下条件,本教程将对您有所帮助:
- 在 App Engine 上运行应用。
- 使用 Cloud SQL 作为数据库。
- 使用 phpMyAdmin 作为 MySQL 的界面,或者您更倾向于使用网页界面执行数据库管理。
如果您使用 Compute Engine,请考虑使用一键部署中提供的某种开发技术栈或产品。部署包含 MySQL 的堆栈(例如 LAMP 和 LEMP)或 Drupal 等产品时,您可以选择在部署过程中安装 phpMyAdmin。
目标
- 在 App Engine 标准环境中部署 phpMyAdmin。
费用
本教程使用 Cloud Platform 的可计费组件,包括:
- App Engine
- Cloud SQL
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 创建一个 Cloud SQL 第二代实例。
- (可选)部署一个使用您的 Cloud SQL 实例的 App Engine 应用,或者选择一个现有应用。
例如,创建和部署留言板示例。 尽管您可以单独部署 phpMyAdmin,但在现实场景中,您或许希望将其与某个 App Engine 应用配合使用。
下载 phpMyAdmin 源代码
您将把 phpMyAdmin 作为 App Engine 应用的一项服务而部署,因此您必须下载 phpMyAdmin 的源代码。请按照以下步骤操作:
在 Cloud Shell 终端中,输入以下命令以下载 phpMyAdmin 版本 4.9.5 的源代码:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz
要使用其他版本的 phpMyAdmin,请使用 phpMyAdmin 下载页面上的可用版本链接。
新建一个目录。您会将文件解压缩到此目录中。
mkdir phpMyAdmin
将文件从归档解压缩到新目录中。
tar -xzvf phpMyAdmin-4.9.5-all-languages.tar.gz -C phpMyAdmin --strip-components=1
准备文件以便部署
部署 phpMyAdmin 要求您创建三个文件:app.yaml
,其中包含 App Engine 的配置信息;config.inc.php
,其中包含 phpMyAdmin 的配置信息;以及 php.ini
,其中包含 PHP 的应用特定配置。
创建“app.yaml
”
App Engine 配置文件指定了网址路径与请求处理程序和静态文件的对应关系。它还包含有关应用代码的信息,例如,应用 ID 和最新版本标识符。请按照以下步骤创建文件:
在您创建的目录(名为
phpMyAdmin
)中,新建一个名为app.yaml
的新文件。cd phpMyAdmin touch app.yaml
使用您喜爱的编辑器,将以下文字粘贴到
app.yaml
中。如果您要将 phpMyAdmin 部署为 App Engine 中的第一个也是唯一一个应用,请将
service
的值从phpmyadmin
更改为default
。通常,您会将 phpMyAdmin 部署为现有应用的一项服务,并为该服务提供一个名称。但是,如果您尚未部署应用,则需要使用服务名称“default”。如果您要在 App Engine 上试用 phpMyAdmin,则本教程非常适合您。
本教程仅适用于 App Engine 标准环境。
保存文件。
创建“config.inc.php
”
按照以下步骤创建 phpMyAdmin 配置文件。
创建名为
config.inc.php
的新文件:touch config.inc.php
使用您喜爱的编辑器,将以下文字粘贴到
config.inc.php
中。打开 Google Cloud Shell 并执行以下操作,为 burfish 获取一个随机字符串:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"
将新 Secret 粘贴到
config.inc.php
中,替换掉{{your_secret}}
。前往 Google Cloud 控制台中的“Cloud SQL 实例”页面。
点击 Cloud SQL 实例,以显示其“实例详情”页面。
使用实例连接名称属性替换掉
{{your_connection_string}}
(在$host
变量中)的值。保存文件。
创建“php.ini
”
在 phpMyAdmin 的代码中,使用了默认情况下在 App Engine 中被禁用的函数。
请按照以下步骤添加 php.ini
文件,以便 App Engine 重新启用这些函数:
在
phpMyAdmin
目录中,创建该文件。touch php.ini
修改该文件并添加以下行:
保存文件。
部署应用
使用以下命令将您的应用部署到 App Engine。
检查您的
gcloud
组件是否有更新。gcloud components update
从您的
app.yaml
文件所在的phpMyAdmin
目录内运行以下命令,以部署应用:gcloud app deploy
此命令会按照您的
app.yaml
文件所指定的方式,将应用部署到phpMyAdmin
服务。部署到单独的服务有助于确保 phpMyAdmin 与主应用在同一数据中心内运行,这能够提升性能。如需详细了解如何从命令行部署应用,请参阅部署 PHP 应用。
登录 phpMyAdmin
您现在可以登录 phpMyAdmin。
在网络浏览器中,输入下面的 phpMyAdmin 的网址打开欢迎页面,请使用您的应用 ID 更改网址。
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.com
对于用户名,请输入 root。
输入您在配置 root 账号时提供的 root 密码。
点击前往。
在开发 App Engine 应用时,切记设置密码,以保护您为了访问 Cloud SQL 中的数据库而创建的任何用户账号。
问题排查
App Engine 使用 Cloud SQL Auth 代理连接到 Cloud SQL 第二代实例。 如需详细了解 Cloud SQL Auth 代理的工作原理,请参阅 Cloud SQL Auth 代理简介。
Google Cloud 控制台中的 App Engine 日志可以提供有关 App Engine 错误的信息。
清理
完成本教程后,您可以清理您创建的资源,让它们停止使用配额,以免产生费用。以下部分介绍如何删除或关闭这些资源。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
如需删除项目,请执行以下操作:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
删除多个实例
要删除 Cloud SQL 实例,请执行以下操作:
- In the Google Cloud console, go to the Instances page.
- Click the name of the SQL instance you that want to delete.
- To delete the instance, click Delete, and then follow the instructions.
后续步骤
- 详细了解 phpMyAdmin。
- 探索有关 Google Cloud 的参考架构、图表和最佳实践。查看我们的 Cloud 架构中心。