Google官方文档可在此处获取:
https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_PHP
但它没有提供有关以下步骤的充分信息:
“4 - 构建并安装PHP解释器和App Engine PHP扩展。在运行开发服务器时指定php-cgi和gae_runtime_module.so的路径。”
我正在使用带有Ubuntu 15.10和PhpStorm的新Virtualbox机器来测试GAE。
有人可以提供有关第4步的明确说明吗?我需要做什么来安装php解释器和App Engine php扩展?
P.S。我已经用谷歌搜索了但我只发现了旧的/令人困惑的教程
答案 0 :(得分:4)
GAE PHP扩展似乎是一个很新的东西。不要记得在Ubuntu 14.04中的SDK上使用它。
您需要从源代码构建PHP和该扩展。您应该从源代码库(http://php.net/git.php)获取最新的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
请记住选择要用PHP5.5编译的模块和软件包,以便在SDK中使用。我认为谷歌有一个正式的模块和扩展列表,他们在GAE PHP和SDK PHP中使用它们。 prefix
参数告诉编译器在哪里安装生成的应用程序。
然后你需要获得PHP扩展的源代码并构建它
$ git clone https://github.com/GoogleCloudPlatform/appengine-php-extension
$ cd appengine-php-extension
$ phpize # remember to use the phpize from the just built PHP5.5 binaries
$ ./configure
$ sudo make && sudo make install
(该Git存储库包含详细的构建说明,因此您在构建时可能应该参考它们。)
为刚刚使用PHP配置文件构建的PHP5.5启用生成的.so。
之后,您需要安装PHP SDK并将其配置为使用新构建的PHP二进制文件
$ dev_appserver.py <...> --php_executable_path=/opt/php55/bin/php-cgi
SDK会告诉您构建的PHP二进制文件是否与您使用的SDK版本不兼容。我记得在没有任何警告的情况下,在它工作之前大约5次编译PHP。
但基本上他们告诉你从源代码编译PHP,然后从源代码编译他们的扩展,然后使用内置的PHP +扩展和下载的SDK。这些说明来自我的头脑,因此您可能需要调整命令和程序。
答案 1 :(得分:1)
使用Docker可以简化该过程,这是您可以使用的图像:https://hub.docker.com/r/mhariri/docker-google-appengine-php/
要运行您的应用程序,只需安装docker,然后在您的app目录中运行以下命令:
docker run -it -v $(pwd):/app --rm --net=host mhariri/docker-google-appengine-php