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