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.
- 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
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
Download the SDK
Listing your Cloud Console project IDs with
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
Building and running locally
To build and run the sample locally:
From the project
appengine-php-guestbookin the branch
phase3-staticfiles, invoke the following command, replacing
/path/to/php-cgiwith 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.