This article is more than 1 year old
Google holds its nose, lets the hoi polloi run PHP on its shiny cloud
Checkmate, Amazon ... in 2028 maybe
Google has loaded PHP onto its platform cloud in a preview form, letting developers around the world try out the technology.
The advertising giant made PHP available as a preview service on its App Engine platform cloud on Monday, taking the total language count of supported platform-as-a-service (PaaS) languages to four, including Python, Java, and Go.
PHP was launched in a limited preview mode at Google I/O this year, which meant developers needed to get their apps whitelisted before they could try out the tech.
Google App Engine is a platform cloud, which means it provides a runtime environment for applications written in pre-determined languages.
The advantage of a PaaS is Google handles the provisioning, deployment, management, middleware, and other features of the infrastructure, but users are faced with less granular control than available on infrastructure-as-a-service (IaaS) clouds such as Amazon Web Services or Google Compute Engine.
The service runs PHP web applications using the PHP 5.4 interpreter in a sandboxed environment. The company has enabled a large number of handy extensions for the language when used on GAE, including memcached, MySQL, OpenSSL, XML, and others.
PHP has been one of the most requested services for App Engine for several years, Google's cloud engineering director Peter Magnusson, said at Zendconf on Monday, but getting the language through Google's strict internal security processes caused a major delay.
"One of the things that slowed us down when doing PHP was going through all the security reviews," he said.
As a consequence, some PHP functions have been permanently disabled for either security reasons or to not interfere with Google's platform, including:
set_time_limit(), fsockopen(), shell_exec(), symlink(), and others.
Other functions are disabled by default but may be enabled using the php.ini file in the app, including:
getmyinode(), getrusage(), phpversion(), phpinfo(), parse_str(), and others.
Platform-as-a-service clouds have not done as well as early backers such as Google and Microsoft expected, with the IaaS model pioneered by Amazon taking in much of the cash and developer community.
However, Google thinks this is not going to last: "IaaS in general has been accepted more quickly because there's been a path through virtualization," Magnusson told El Reg. "Whereas platform-as-a-service or SaaS approaches be it App Engine or Force.com or Sharepoint take a more language oriented approach or code-oriented approach."
But Google admits that it's going to take a loooong time for people to move from virtual machines into platforms: "I think the from scratch language-oriented approaches will win out," he told us, "we're not talking three years – we're talking more like 15 years." ®