This tutorial shows you how to implement a PHP application for App Engine—a simple guestbook that lets users post messages to a public message board.
Objectives
- Clone the tutorial project
- Walk through the code samples to see how to integrate your application with Google accounts, handle web forms, and serve static files
- Run, test, and deploy the project
Costs
There are no costs associated with running this tutorial. This application does not exceed the free quota.
Before you begin
-
Create a new Cloud Console project or retrieve the project ID of
an existing project from the Google Cloud Console:
Tip: Retrieve a list of your existing project IDs with gcloud.
-
Install the Google Cloud SDK and then initialize the
gcloud
tool:
Download the SDK
Listing your Cloud Console project IDs with gcloud
From the command line, run:
gcloud projects list
Cloning the project from GitHub
Clone the Guestbook application repository to your local machine:
git clone https://github.com/GoogleCloudPlatform/appengine-php-guestbook.git
Switch to the branch with the final version of the application:
cd appengine-php-guestbook/ git fetch git checkout phase3-staticfiles
The cloned project contains several branches. In this tutorial we
will only cover the project in the branch named phase3-staticfiles
.
Building and running locally
To build and run the sample locally:
From the project
appengine-php-guestbook
in the branchphase3-staticfiles
, invoke the following command, replacing/path/to/php-cgi
with the appropriate value:dev_appserver.py ./ --php_executable_path=/path/to/php-cgi
The development web server is now running. Navigate to http://localhost:8080
The app serves a page inviting you to sign in. Try clicking the Sign in link, then sign in with any email address. The development server has only a very basic emulation of the Google Account sign-in process for testing purposes, so this accepts whatever email you supply, valid or not, and generates a fake user object based on that supplied value. This same code when deployed to production, requires a valid Google Account and email for the sign-in to work, and yields a valid user object.
Stop the development server by pressing Control+C.
Understanding the code
To walk through the application code and see how it works, continue to the next page.