PHP 5 has reached end of support and will be
deprecated
on January 31, 2026. After deprecation, you won't be able to deploy PHP 5
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing PHP
5 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you
migrate to the latest supported version of PHP.
How-to Guides
Stay organized with collections
Save and categorize content based on your preferences.
Developing PHP Apps on App Engine
Managing and Configuring Your App
Connecting to and from Your App
Sending and Receiving Email, SMS, and Voice Messages
Scheduling Work Outside of User Requests
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis documentation covers developing PHP applications on App Engine, including using a local development server, monitoring latency, and downloading logs for detailed analysis.\u003c/p\u003e\n"],["\u003cp\u003eYou can manage and configure your app by deploying it, splitting or migrating traffic, managing resources, setting up custom domains, and utilizing configuration files like \u003ccode\u003eapp.yaml\u003c/code\u003e and \u003ccode\u003ephp.ini\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation provides information on storing data, such as choosing a storage option, using Cloud SQL for MySQL or Postgres, reading and writing files, and providing public access to them.\u003c/p\u003e\n"],["\u003cp\u003eUser authentication options are explained, including using the Users API, constructing login URLs, and identifying admin users.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers caching data with Memcache, connecting to and from your app using outbound IP addresses and the URL Fetch service, and sending/receiving email, SMS, and voice messages, as well as scheduling work via cron jobs and task queues.\u003c/p\u003e\n"]]],[],null,["# How-to Guides\n\nDeveloping PHP Apps on App Engine\n---------------------------------\n\n- [### Using the Local Development Server\n Run the development server locally to simulate your application running in\n production.](/appengine/docs/legacy/standard/php/tools/using-local-server)\n- [### Monitoring Latency with Cloud Trace\n Collect latency data from your application and view it in the Google Cloud\n Platform Console.](/trace)\n- [### Configuring Dashboards and Alerts with Cloud Monitoring\n Collect metrics, events, and metadata from Google Cloud Platform to generate\n insights via dashboards, charts, and alerts.](/monitoring/docs)\n- [### Downloading Logs\n Download log data to perform more detailed analysis of your application.](/appengine/docs/legacy/standard/php/tools/downloading-logs)\n- [### Integrating with Google Analytics\n Measure user interactions with your business across various devices and\nenvironments.](/appengine/docs/legacy/standard/php/google-analytics) \n\nManaging and Configuring Your App\n---------------------------------\n\n- [### Deploying Your App\n Use the appconfig command to deploy your app.](/appengine/docs/legacy/standard/php/tools/uploadinganapp)\n- [### Splitting Traffic\n Distribute traffic across two or more versions of a module to control roll out\n of features or conduct A/B testing.](/appengine/docs/legacy/standard/php/splitting-traffic)\n- [### Migrating Traffic\n Gradually move traffic from an old version of a service to a new version of the\n service.](/appengine/docs/legacy/standard/php/migrating-traffic)\n- [### Creating a Project and Managing Billing\n Create a Google Cloud Platform project and set up billing.](/appengine/docs/legacy/standard/php/console)\n- [### Granting Project Access\n Provide role-based access to your Google Cloud Platform project and its\n resources.](/appengine/docs/legacy/standard/php/access-control)\n- [### Using Custom Domains and SSL\n Add a custom domain for your application and optional set up SSL for the custom\n domain.](/appengine/docs/legacy/standard/php/mapping-custom-domains)\n- [### Managing App Resources\n Understand your application's performance and manage the resources your\n application is using.](/appengine/docs/legacy/standard/php/console/managing-resources)\n- [### Configuring the PHP Environment with the php.ini File\n Customize the behavior of the PHP interpreter directives.](/appengine/docs/legacy/standard/php/config/php_ini)\n- [### Configuring Your App With app.yaml\n Configure your application's settings.](/appengine/docs/legacy/standard/php/config/appref)\n- [### Simulating Apache mod_rewrite Routing with mod_rewrite.php\n Reroute URLs using rules.](/appengine/docs/legacy/standard/php/config/mod_rewrite)\n- [### Using the Admin API\n Provision and manage your application using the Admin API.](/appengine/docs/admin-api)\n- [### Using the Modules API\n Programmatically retrieve information about the current operating environment,\nmodules (now called \"services\"), or instances.](/appengine/docs/legacy/standard/php/using-the-modules-api) \n\nStoring Data\n------------\n\n- [### Choosing a Storage Option\n Decide which storage option to use in your app.](/appengine/docs/legacy/standard/php/storage)\n- [### Using Cloud SQL for MySQL\n Store application data from your App Engine app in Cloud SQL for MySQL.](/sql/docs/mysql/connect-app-engine)\n- [### Using Cloud SQL for Postgres\n Store application data from your App Engine app in Cloud SQL for Postgres.](/sql/docs/postgres/connect-app-engine)\n- [### Reading and Writing Files\n Store and retrieve data using Cloud Storage in your app.](/appengine/docs/legacy/standard/php/googlestorage)\n- [### Setup\n Set up Cloud Storage for your application's use.](/appengine/docs/legacy/standard/php/googlestorage/setup)\n- [### Providing Public Access to Files\n Make your files publicly accessible via the web.](/appengine/docs/legacy/standard/php/googlestorage/public_access)\n- [### Allowing Users to Upload Files\n Implement code to allow user uploads.](/appengine/docs/legacy/standard/php/googlestorage/user_upload)\n- [### Serving Image Files\n Serve images conveniently without needing to store the images in different\n sizes.](/appengine/docs/legacy/standard/php/googlestorage/images)\n- [### Advanced File Management\nLearn about advanced file management features.](/appengine/docs/legacy/standard/php/googlestorage/advanced) \n\nAuthenticating Users\n--------------------\n\n- [### User Authentication Options\n Understand the different ways to authenticate users of your application.](/appengine/docs/legacy/standard/php/oauth)\n- [### Users API Overview\n Learn about the Users API.](/appengine/docs/legacy/standard/php/users)\n- [### User Objects\n Learn about the class that represents a user.](/appengine/docs/legacy/standard/php/users/userobjects)\n- [### Login URLs\n Construct URLs that allow the user to sign in or sign out.](/appengine/docs/legacy/standard/php/users/loginurls)\n- [### Admin Users\nDetermine whether the currently signed-in user is a registered administrator.](/appengine/docs/legacy/standard/php/users/adminusers) \n\nCaching Application Data\n------------------------\n\n- [### Memcache Overview\n Learn about the memcache service.](/appengine/docs/legacy/standard/php/memcache)\n- [### Using Memcache\nSet and retrieve cached values.](/appengine/docs/legacy/standard/php/memcache/using) \n\nConnecting to and from Your App\n-------------------------------\n\n- [### Outbound IP Addresses\n Learn about the outbound IP addresses App Engine uses.](/appengine/docs/outbound-ip-addresses)\n- [### Issuing HTTP(S) Requests\n Use the URL Fetch service to issue HTTP(S) requests.](/appengine/docs/legacy/standard/php/issue-requests)\n- [### Identifying Your App to APIs and Services\n Discover and assert your application's project ID.](/appengine/docs/legacy/standard/php/appidentity)\n- [### Using Sockets\nLearn about the Sockets API.](/appengine/docs/legacy/standard/php/sockets) \n\nSending and Receiving Email, SMS, and Voice Messages\n----------------------------------------------------\n\n- [### Mail API Overview\nLearn about the Mail API.](/appengine/docs/legacy/standard/php/mail) \n\nScheduling Work Outside of User Requests\n----------------------------------------\n\n- [### Scheduling Jobs with cron.yaml\n Configure regularly scheduled tasks to run in your application.](/appengine/docs/legacy/standard/php/config/cron)\n- [### Task Queue API Overview\n Learn about the Task Queue API.](/appengine/docs/legacy/standard/php/taskqueue)\n- [### Configuring Task Queues with queue.yaml\n Define task queues in a configuration file.](/appengine/docs/legacy/standard/php/taskqueue)\n- [### Using Push Queues\n Learn about push queues.](/appengine/docs/legacy/standard/php/taskqueue/push)\n- [### Task Queue REST API Overview\nLearn about the Task Queue REST API.](/appengine/docs/legacy/standard/php/taskqueue/rest) \n\nReading and Writing Logs\n------------------------\n\n- [### Reading and Writing Logs\n Learn how to read request logs and read and write application logs.](/appengine/docs/legacy/standard/php/logs)"]]