Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Google App Engine for Python & PHP入門

More than 5 years have passed since last update.

参考

gae.png

SDK for Pythonをダウンロード

unzip google_appengine_1.9.25.zip
mv google_appengine ~/bin/
  • PATHを追加しておく
~/.bashrc
export PATH=$PATH:$HOME/bin/google_appengine

ソース

wget https://console.developers.google.com/project/プロジェクトID/start/appengine
unzip master.zip
cd appengine-try-python-bottle-master/
appcfg.py -A プロジェクトID update .

WEBブラウザが起動し「The authentication flow has completed.」と表示される。

  • http://プロジェクトID.appspot.com/ にアクセスし

「Hello World!」と表示されれば成功。

修正反映方法

main.py
 def hello():
     """Return a friendly HTTP greeting."""
-    return 'Hello World!'
+    return 'こんにちは'
appcfg.py -A プロジェクトID update .

「こんにちは」と表示されれば成功


PHP

  • PythonのSDKにPHPのSDKも含まれています。
wget https://github.com/GoogleCloudPlatform/appengine-try-php/archive/master.zip
unzip master.zip
cd appengine-try-php-master
appcfg.py -A プロジェクトID update .

「Hello World!」と表示されれば成功。

修正反映方法

helloworld.php
 <?php
-  echo 'Hello, world!';
+  echo 'こんにちはPHP';
appcfg.py -A プロジェクトID update .

「こんにちは」と表示されれば成功

  • $_SERVER["REMOTE_ADDR"] 変数とか普通に使えるのでアクセス制限できて便利そう

ルーティングの追加

app.yaml
 handlers:
-- url: /.*
-   script: helloworld.php
+- url: /
+  script: index.php
+- url: /1
+  script: 1.php

こうしておくと、/にアクセスが来た時 index.php
/1 にアクセスが来た時1.phpが処理される。


データの保存

準備: Bucketを作る

  • ストレージ>Cloud Storage>ブラウザ
  • Bucketを作成。一意の名前をつける。

データの保存方法

helloworld.php
define(BUCKET, "gs://mybucket");

# text/plain で保存
$options = [ "gs" => [ "Content-Type" => "text/plain" ]];
$ctx = stream_context_create($options);
file_put_contents(BUCKET."/hello.txt", "データ1", 0, $ctx);

# binaly/octet-stream で保存
$fp = fopen(BUCKET."/hello2.txt", "w");
fwrite($fp, "データ2");
fclose($fp);

バケットにデータが保存されたことを確認。

スクリーンショット 2015-09-01 11.14.14.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away