Google App EngineでPHPが使える様になった!

LINEで送る
Pocket

長年PythonとJavaしか使えなかったGAEにてPHPが使える様になった模様。現在試験期間中なので、実際にサーバにデプロイするにはGoogleに申請して返答を待つ必要があるのだが、まずは開発環境を作るところから準備しておきたいので、自分のMac OS X 10.8.3 Mountain lionで環境を作ってみた。

詳しくはこちらを参照してください。

今回の記事の特徴としては、本家Google様はMac Portを使用したやり方を書いてあるところをHomebrewにした件。こちらのGAEドキュメントに従って以下をこなしていく。

  1. PHP 5.4のインストール
  2. App Engine PHP SDKのインストール
  3. サンプルアプリ作成&起動

前提事項として、今回の開発環境は上記したMac OS X 10.8のMountain lionであります。したがって、GAEの必要項目に挙げられているPython2.7に関してはプリインストールされています。反対に、この環境のデフォルトPHPは残念ながらPHP 5.3系統であるため、PHP 5.4を入れる必要があります。

PHP 5.4のインストール

PHP 5.4のインストールですが、注意点として、

  1. 現在のバージョンを残したい(既存開発環境を壊したくない)
  2. php-cgiバイナリが必要
  3. Mac Portは使いたくない

という事があります。なので、Homebrewで、php-envを使って、php-cgiバイナリを含む形でインストールする必要があります。

※php-cgiとありますが、PHPはモジュールモードやCGIモードで動作させる事ができ、環境や条件によってそれらを使い分けます。通常Apacheなどでそのまま使っているとモジュールモードになります。GAEはphp-cgiバイナリを使ったCGIモードでの動作となりますので、php-cgiを作成する必要があります。

必ず先にHomebrewをインストールしてください。では順を追って。

$ brew doctor

$ brew update

$ brew tap josegonzalez/php

$ brew install --HEAD phpenv

ここで、PATHの設定等が必要になります。 ~/.bashrc を開いて以下を追加してください。

if [ -f $HOME/.phpenv/bin/phpenv ]; then
export PATH=$PATH:~/.phpenv/bin
eval "$(phpenv init -)"
fi

で、シェルを再起動してください。

$ source ~/.bashrc

$ brew install php-build

$ php-build --definitions

これでビルドできるPHPのバージョンを確認できます。次に、ビルドする時の設定をする必要がありますので、configureのファイルを編集します。

$ vi /usr/local/Cellar/php-build/0.9.0/share/php-build/default_configure_options

内容を見て、以下が存在する事を確認してください。

  • –enable-cgi
  • –enable-bcmath

無ければ追加してください。

次に、ビルドします。

$ php-build 5.4.10 ~/.phpenv/versions/5.4.10

が、いちいちビルドエラーがでます。ビルドエラーがでる理由は依存するモジュールがインストールされていない事が原因ですので、足りないと言われたモジュールを全てインストールして再度php-buildしましょう。

因に、当方の環境で依存モジュールとしてインストールしたのは以下。

$ brew install re2c

$ brew install mcrypt

$ brew install jpeg

$ brew install libpng

さて、ビルドに成功したとして、以下にphp-cgiが作成されているはずです。

$ ls ~/.phpenv/versions/5.4.10/bin/php-cgi

実際にApache等でPHPを使う場合はこの後いろいろバージョンの変更とかの手順を踏むのだが、GAEではこのPHP 5.4版のphp-cgiバイナリさえあれば良いので、これでPHPのインストールを終了する。

さて、今回はここまで、

次は、「App Engine PHP SDKのインストール」です。

続きは次回「Google App Engine で PHPが使える様になった ~ SDKインストール」

LINEで送る
Pocket