A nice upgrade came about in the 1.9.18 release of App Engine SDK: PHP on App Engine can now support cURL. There are a few caveats that go with it, but it’s a nice step forward.
There are two implementations: cURL_lite and full fledged cURL.
To Enable cURL_lite
- Add the directive google_app_engine.enable_curl_lite = “1” to your php.ini file.
Caveats
- cURL_lite is only allowed to make calls to HTTP or HTTPS clients
- cURL_lite didn’t work on my local development server without tweaking runtime to php55, but it works for php in production
- cURL_lite doesn’t require application to have billing enabled
To Enable cURL
- Change your runtime setting in your app.yaml from php to php55.
- Add the directive extension = “curl.so” to your php.ini file.
Caveats
- cURL is only available in App Engine’s PHP 5.5 implementation
- cURL can only be used by applications that have billing enabled
- cURL is limited by the restrictions of App Engine’s sockets but include:
- Limited from targeting Google domains
- May be reclaimed after 2 minutes of inactivity
Now regardless of the implementation, you still call cURL using the “curl_” commands, just the underlying technology changes.
Supporting Documentation