Creating a Guestbook

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.

The UI for the application looks like this:


  • 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

  1. Create a new Cloud Platform Console project or retrieve the project ID of an existing project from the Google Cloud Platform Console:

    Go to the Projects page

    Tip: Retrieve a list of your existing project IDs with gcloud.

  2. Install the Google Cloud SDK and then initialize the gcloud tool:
    Download the SDK

Cloning the project from GitHub

  1. Clone the Guestbook application repository to your local machine:

    git clone
  2. 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:

  1. From the project appengine-php-guestbook in the branch phase3-staticfiles, invoke the following command, replacing /path/to/php-cgi with the appropriate value: ./ --php_executable_path=/path/to/php-cgi
  2. The development web server is now running. Navigate to http://localhost:8080

  3. 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.

  4. Terminate 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.

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

App Engine standard environment for PHP