Google app engine 谷歌应用程序引擎PHP SDK-如何在Ubuntu(15.10)上安装?

Google app engine 谷歌应用程序引擎PHP SDK-如何在Ubuntu(15.10)上安装?,google-app-engine,ubuntu,google-app-engine-php,Google App Engine,Ubuntu,Google App Engine Php,谷歌官方文档可在此处获得: 但它没有提供关于以下步骤的足够信息: “4-构建并安装PHP解释器和应用程序引擎PHP扩展。在运行开发服务器时指定PHP cgi和gae_runtime_module.so的路径。” 我正在使用一台新的Virtualbox机器和Ubuntu15.10和PhpStorm来测试GAE 有人能提供关于第4步的明确说明吗?安装php解释器和应用程序引擎php扩展需要做什么 另外,我已经用谷歌搜索过了,但我只找到了一些旧的/令人困惑的教程,GAE PHP扩展似乎是一个相当新的

谷歌官方文档可在此处获得:

但它没有提供关于以下步骤的足够信息:
“4-构建并安装PHP解释器和应用程序引擎PHP扩展。在运行开发服务器时指定PHP cgi和gae_runtime_module.so的路径。”

我正在使用一台新的Virtualbox机器和Ubuntu15.10和PhpStorm来测试GAE

有人能提供关于第4步的明确说明吗?安装php解释器和应用程序引擎php扩展需要做什么


另外,我已经用谷歌搜索过了,但我只找到了一些旧的/令人困惑的教程

,GAE PHP扩展似乎是一个相当新的东西。不记得在Ubuntu 14.04的SDK上使用过它

您需要从源代码构建PHP和该扩展。您应该从源repo()获取最新的PHP5.5分支并构建它。该链接页面包含有关构建PHP的说明,但过程类似于以下内容:

$ git clone <php-src> 
$ cd ./php-src/ 
$ git checkout PHP-5.5
$ ./buildconf
$ ./configure --prefix="/opt/php55"
$ sudo make && sudo make install
(Git存储库包含详细的构建说明,所以在构建时您可能应该参考它们。)

启用结果。因此,对于刚才使用PHP配置文件构建的PHP5.5

之后,您需要安装PHPSDK并将其配置为使用新构建的PHP二进制文件

$ dev_appserver.py <...> --php_executable_path=/opt/php55/bin/php-cgi
$dev_appserver.py--php_executable_path=/opt/php55/bin/php cgi
SDK将让您知道构建的PHP二进制文件是否与您使用的SDK版本不兼容。我记得在没有任何警告的情况下运行PHP之前,我从源代码编译了大约5次


但本质上,他们告诉您从源代码编译PHP,然后从源代码编译其扩展,然后在下载的SDK中使用构建的PHP+扩展。这些说明来自我的头顶,因此您可能需要调整命令和程序。

使用Docker可以简化此过程,以下是您可以使用的图像:

要运行应用程序,只需安装docker,然后在应用程序目录中运行以下命令:

docker run -it -v $(pwd):/app --rm --net=host mhariri/docker-google-appengine-php

非常感谢你!!你所描述的过程是有意义的。我会尽快尝试并接受答案。我不知道如何启用。所以对于配置文件中的php。。。希望通过谷歌搜索来解决这个问题,我认为谷歌应该真正简化这个过程。我发现其他服务(通过托管ad push来部署)更易于使用/设置,因为它们只需要您拥有git和Bitbucket/Github帐户。是的,GAE需要大量的前期配置才能在Linux上正常工作(考虑到我听说谷歌要求员工使用Linux,这很有趣)。但是一旦它完成了,在谷歌决定引入更大的改变之前,它应该是好的。当我执行“make”命令时,总是会出现以下错误:/home/mark/Experiments/appengine php/php src/ext/libxml/libxml.c:39:27:致命错误:libxml/parser.h:没有终止此类文件或目录编译。生成文件:500:目标“ext/libxml/libxml.lo”的配方生成失败:**[ext/libxml/libxml.lo]错误1P.s。我已经执行了sudo-apt-get-install-libxml2-dev,但是您的请求没有解决这个问题吗?它解决了!在读取php.ini时,它被正确配置为在appengine中进行libxml调用,但该模块没有安装在docker容器上。有一长串未安装的应用程序引擎支持的模块。最好建立一个小测试来检查是否每个模块都已安装并正常工作。。。比如我很快就需要的MongoDB。
docker run -it -v $(pwd):/app --rm --net=host mhariri/docker-google-appengine-php