見出し画像

Google Cloud Platformを使う 〜その1 AppEngineを使ってPHP環境を作ってみる〜

最近仕事でGoogleCloudPlatformに関わる事になったので、勉強としていろんな環境を構築してみる。

今日はGoogleCloudPlatformのAppEngineで、PHPとMySQLが動く環境を作ってみます😊

【準備】Google Cloud Platformに登録する

私はGoogle Mapの開発などを行った関係ですでに登録されていたんですが、Google App Engineを使うためにはそのプラットフォームであるGoogle Cloud Platformへの登録が必要です。

画像1

Google App Engineを使えるようにする

どうやらこれはとっても簡単らしい。
Google Cloud Platformのコンソール画面にログインできたら、上部メニューからプロジェクトを選択する。なければここで「新しいプロジェクト」を選択して作成する事ができます。

画像2

Google App Engineのダッシュボードに移動する

左側のハンバーガーメニューからApp Engineに移動できた。

画像3

アプリを作成していく。今回はアメリカのサーバーを選んで、リソースは開発に使いたい言語、PHPを選択した。昔はJavaが使えるサーバーなんて、専用サーバーを借りるか自分で自宅サーバーを構築しなきゃいけなかったのに、開発を勉強する人にとっても良い時代になったなー。

画像4

ここで、一瞬「?」となって止まりました。この次どうしたらいいの?

画像5

「後で」ではないね・・・そうか、CLOUD SDKをダウンロードするという所から何かのアプリをダウンロードして、このAppEngineで作った環境をデスクトップのアプリから触れるとかそういう事なのかな。

Google Cloud SDKのインストール

ダウンロードしたファイルを解凍して任意の場所に置いた。下記のコマンドを実行するとあったので、install.shがある場所まで移動したけど、逆にうまくいかなかった。1つ上のgoogle-cloud-sdkフォルダを置いた場所で、下記コマンドを実行するとうまく行った。これは覚えておきたい。

./google-cloud-sdk/install.sh

画像7

YとかNとか聞かれるのでそのまま進める。どちらもNでも良さそう。
終わったらパスが追加されているかどうか、確認してみても良い。

$ cat /Users/xxxxx.yyyyyyyy/.bash_profile

次にCloud Sdkの初期化を開始します。Yを押して進めていくと、ブラウザが自動で開いて、Googleのアカウント認証、続いてCloud SDKへの権限許可の画面になったのでつなぎたいGoogleアカウントを選んでOKとしました。

$ ./google-cloud-sdk/bin/gcloud init

ちなみに、パスが通ってるからコマンドだけ打ったらいいかと思ったらうまくいかなかった。なぜだ・・・上記で通ったので一旦良しとします。

画面操作が完了すると、どのプロジェクトで利用するか選択肢が出てきます。ここで私の場合無関係なプロジェクトが多すぎて、参考にしていた手順書の画面と違いすぎて、壊れたかと思いましたw

特にエラー無く進めばGoogle Cloud SDKのインストールは完了です。

コマンドラインでバージョンの確認。とにかくパスが通っていない・・・というか端末再起動していないからか?(今は再起動できない環境なので後ほど検証させて頂きます。)

./google-cloud-sdk/bin/gcloud version

次にコマンドラインツールのアップデートについても試しておきます。

./google-cloud-sdk/bin/gcloud components update

これでGoogle Cloud SDKのインストールは完了です。

PHPファイルを作って動かしてみる!

PHPファイルを動かすには、ローカル(PC側)で作業フォルダを作って行うようです。(なるほどそういう感じかー)

作業フォルダを作って、下記のファイルを格納しました。

app.yaml ・・・ 設定ファイルのようです。

runtime: php55
api_version: 1

handlers:
- url: /
 script: index.php 
- url: /(.*).php
 script: \1.php 

automatic_scaling:
 min_idle_instances: 1
 max_idle_instances: 1
 max_pending_latency: 2000ms

php.ini ・・・ 無くても動きそうですがphpの設定ファイル

google_app_engine.enable_functions = "phpversion, phpinfo"

info.php

<?php

phpinfo();

?>

ただ単にPHP情報が見えるだけのコード。サンプルとして。

PHPをGoogle App Engineで動かす!

ついに来ました。期待に胸を膨らませて・・・

コマンドプロンプトやターミナルで、PHPのファイルを作ったフォルダに移動します。そこで、以下のコマンドを実行。

gcloud app deploy

現在のフォルダの内容をベースに、PHPをAppEngineにアップするコマンドのようです。ただ、結論から言うと動きませんでした。

画像7

ERROR: (gcloud.app.deploy) Error Response: [7] Access Not Configured. Cloud Build has not been used・・・

理由は、請求先の情報がリンクされていないぞ!という事のようです。それが出来ないとこれ以上進めません。ちなみに、私はGoogle Cloud Platformの標準での支払い先のリンクが5プロジェクトまでらしくGoogle Mapでその上限になっていたので、使っていないアカウントを調査して無効にしてから、もう一度有効にするという面倒な手順を踏むことになりました。※最初にこのテスト用にアカウント自体作成したら良かったですね。次はそうします。

再チャレンジ!!・・・どうだ・・・どうかな・・・・・

画像9

・・・・動きそう

動かなかった・・・なんでだろうと思っていると、表示されたURLにアクセスしているけど、index.phpじゃなくてinfo.phpしか配置していないから、URLにinfo.phpを追加しないと404エラーで落ちるという事に気づいた。めちゃくちゃ初歩的なミスでした。

せっかくなのでindex.phpも作って再度デプロイしてみました・・・

動いた!!無事phpinfo()の関数が動作していました。
面白い仕組みですねー。

https://majirushi-phptest.uc.r.appspot.com/

画像9

次回はMySQLライクなDBが使えるということで、データベースに挑戦します!

この記事が気に入ったらサポートをしてみませんか?