Johannes Buchholz
Johannes Buchholz

Reputation: 2317

Use php extensions in Google Cloud App Engine

I'm trying to run a symfony4 application in the Google Cloud App Engine following this instructions.

My app has a dependency which itself depends on php-gd. This extension seems to be unavailable since composer fails with the requested PHP extension gd is missing from your system..

How would I have to modify the tutorial to have the extension available?

Can this be solved with a php.ini file or do I need a custom environment?

Alternatively since I don't need the parts of my dependency which require php-gd, is there a way to get composer run with the --ignore-platform-reqs flag?

Upvotes: 13

Views: 3229

Answers (3)

Johannes Buchholz
Johannes Buchholz

Reputation: 2317

Google Cloud App Engine only seems to load extensions required in the top level composer.json's require.

It does not seem to resolve dependencies recursevly.

Therefore a workaroud is to add all required extensions manually to the projects composer.json.

Upvotes: 1

Mwangi Thiga
Mwangi Thiga

Reputation: 1379

Well this is based on Symfony

So on the root of your application create a file php.ini

In the file enter this line

extension=gd.so

So that your php.ini file will look like this.

sample

Upvotes: 3

Jose Antonio
Jose Antonio

Reputation: 898

Make sure to get installed this php-gd or apt-get install php5-gd

-your OS apt-get install php gd or apt-get install php5-gd, be aware of your php version.

The other approach here woulbe to add "ext-gd": "*" to your application's composer.json:

composer require "ext-gd:*" --ignore-platform-reqs It doesn't matter if gd is enabled in your local PHP install, the flexible environment is built using your composer.json and app.yaml files, so you need to add it there.

Upvotes: 3

Related Questions