Google App Engine で CakePHPを使うトライ

LINEで送る
Pocket

とりあえずローカルのMountain lionでGoogle App Engine PHP SDKを入れてHelloworldを表示する事に成功した。次はCakePHPが使えないか試してみたい。

まず前回の記事で作ったアプリをCakePHPで置き換えよう。CakePHPはこちらからダウンロードしてディレクトリ毎展開すればOK。例えば、


~/Sites/gaecake/

というディレクトリにCakePHPを置いたとする。


$ cd ~/Sites/gaecake

$ touch app.yaml

$ touch php.ini

としてapp.yamlとphp.iniを作っておこう。そしてそれぞれ以下の様にかき込む。

app.yaml for CakePHP


application: cakegae
version: 1
runtime: php
api_version: 1

handlers:

- url: /css
static_dir: app/webroot/css

- url: /js
static_dir: app/webroot/js

- url: /img
static_dir: app/webroot/img

- url: /.*
script: app/webroot/index.php

次は、php.iniに以下をかき込む。


date.timezone = "Asia/Tokyo"

前回の記事に従って、


$ google_appengine/dev_appserver.py --php_executable_path=<path to php-cgi> ~/Sites/gaecake/

としてウェブサーバーを立ち上げ「http://localhost:8080」でブラウザからアクセスする。

これでCakePHPがローカル開発環境で表示されたはずた!

あれ?でもいろいろやってると不具合が出てくる。$this->redirectとかすると baseUrlの指定が壊れていててんで変なURLにリダイレクトしようとしよる。

こまった。。。なんか解決方法はないかのぉ。

app/config/core.phpの以下のラインをコメント解除したりもためした。


Configure::write('App.baseUrl', env('SCRIPT_NAME'));

でもダメだった。うーん。とりあえず今のところは解決策がみつからぬ。。

LINEで送る
Pocket

Google App Engine で PHPが使える様になった ~ SDKインストール

LINEで送る
Pocket

 こちらの記事の続きです。

前回の記事では、PHP 5.4のcgiバイナリをhomebrewでインストールしましたので、今回はApp Engine PHP SDKをインストールして、実際にサンプルアプリを作るところまでやってみます。

App Engine PHP SDKをインストールします。まず、ホームディレクトリに移動して、curlでzipファイルをダウンロードして、unzip。たったそれだけです。


$ cd

$ curl -O http://commondatastorage.googleapis.com/appengine-php/appengine-php-sdk-1.8.0.zip

$ unzip appengine-php-sdk-1.8.0.zip

これでSDKの準備が整いました。信じられないくらい簡単です。

では、次にアプリを作ります。

~/Sites/helloworld

などのフォルダを作りましょう。そして以下2つのファイルを作り終了です。

~/Sites/helloworld/helloworld.php

<?php
  echo 'Hello, World!';

~/Sites/helloworld/app.yaml


application: helloworld
version: 1

runtime: php

api_version: 1

 

handlers:

- url: /.*

script: helloworld.php

以上です。

さあ実行してみましょう。


$ cd ~/

$ google_appengine/dev_appserver.py --php_executable_path=<path to php-cgi> ~/Sites/helloworld/

<path to php-cgi>の部分は前回記事でインストールしたphp-cgiの場所になります。たぶん、


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

とかにあります。これでウェブサーバーが起動しましたので実際にブラウザから http://localhost:8080

としてアクセスしてみましょう。

LINEで送る
Pocket