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被使用的模块和包。我认为Google有一个正式的模块和扩展名列表,它们在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仓库包含了详细的建造指令,所以你应该建立时可能参考这些。)
启用导致.so对于您刚刚使用PHP配置文件构建的PHP5.5。
之后,你需要安装PHP SDK,并将其配置为使用新建成的PHP二进制
$ dev_appserver.py <...> --php_executable_path=/opt/php55/bin/php-cgi
的SDK将让你知道,如果PHP编译的二进制文件与您使用SDK版本不兼容。我记得大约5次编译PHP源代码之前,它没有任何警告。
但实际上他们告诉你从源代码编译PHP,然后从源代码编译它们的扩展,然后使用内置的PHP +扩展与下载的SDK。这些说明来自我的头顶,因此您可能需要调整命令和程序。
非常感谢您!你描述的过程是合理的。我会尽快尝试并接受答案。我不知道如何在配置文件中启用.so for PHP ...希望通过谷歌搜索来解决这个问题 –
作为一个方面说明,我认为谷歌应该真正简化这个过程。我发现其他服务(托管广告推送部署)更容易使用/设置,因为他们只需要您拥有git和Bitbucket/Github帐户。 –
是的,GAE需要相当多的前期配置才能在Linux上正常工作(考虑到谷歌以要求员工使用我听说的Linux而闻名,这很有趣)。但一旦完成,它应该没问题,直到谷歌决定引入更大的变化。 – ojrask