You can declare dependencies for PHP in a standard composer.json
file. For example:
{
"require": {
"google/cloud": "^0.72"
}
}
You can use any Linux-compatible PHP package in App Engine. The runtime
looks for a composer.json
file in your application's source
directory and uses composer
to install any dependencies before
starting your application.
For information about the PHP versions that are supported in this runtime, see The PHP Runtime.
Installing and running locally
Use composer to install your dependencies locally:
composer install
To pin your dependencies to their current version, commit the
composer.lock
file to your application.
You can test your application using your web server of choice. App Engine flexible environment uses NGINX in production. To quickly run your application, you can use PHP's built-in web server.
Installing a web framework
By default, NGINX is configured to serve all requests through index.php
. A
framework is not required, but is encouraged. You can use any web framework with
App Engine flexible environments, including the following:
To use a particular web framework, just add it to composer.json
:
{
"require": {
"symfony/symfony": " ^3.0"
}
}
Installing the Cloud Client Libraries
The Google Cloud Client Library for PHP is a client library for accessing Google Cloud services that reduces the boilerplate code you have to write. The library provides high-level, easy to understand API abstractions. It embraces idioms of PHP, works well with the standard library, and has tighter integration with your codebase. All of this means you spend more time creating code that matters to you.
Install the library locally:
composer require google/cloud
You can handle authentication locally by using the Google Cloud CLI. If you want your local application to temporarily use your own user credentials for API access, run:
gcloud auth application-default login
For details on configuring Cloud Client Libraries for PHP to handle authentication automatically, see Authenticate to Cloud services using client libraries.
Using private repositories
To use libraries in private repositories, you must complete the following tasks:
- Configure the repository.
- Give
composer
the secret to access the private repository.
The following example illustrates how to access a private repository in GitHub.
Configure the repository in
composer.json
usingvcs
for the type:"repositories": [ { "type": "vcs", "url": "https://github.com/username/private_package" } ]
Create a file named
auth.json
in your project root directory:{ "github-oauth": { "github.com": "<your-github-auth-token>" } }
You can obtain the GitHub auth token from GitHub's administrative UI.
Here is another example that illustrates how to access a private repository for Bitbucket.
Configure the repository in
composer.json
usingvcs
for the type:"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/username/private_git" } ]
Create a file named
auth.json
in your project root directory:{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "<your-oauth-consumer-key>", "consumer-secret": "<your-oauth-consumer-secret>" } } }