この記事は はてなブログ から移行されました
Google App Engine で PHP 7.1 を動かしてみるよ (Flexible Environment)
PHPインフラ
前提として、ローカル環境はこんな感じです
- macOS 10.12
- PHP 7.1.8 (homebrew/php/php71)
- Google Cloud SDK 等導入済み
gcloud
コマンド使用可能
ひとまず、Slim を使ってみることにします。
composer create-project slim/slim-skeleton try-gaephp7
これで、以下のようなファイルが作られます。
ls -1
CONTRIBUTING.md
README.md
composer.json
composer.lock
logs/
phpunit.xml
public/
src/
templates/
tests/
vendor/
今回はフレームワークの読み込みと、PHP バージョンの確認のために
src/routes.php
を
<?php
// Routes
$app->get('/', function ($request, $response) {
// Sample log message
$this->logger->info("Slim-Skeleton '/' route");
// Render index view
return $this->renderer->render($response, 'index.phtml', [
'version' => phpversion(),
]);
});
templates/index.phtml
で
<p>PHP Version: <?= $version ?></p>
のようにしてみました。
ひとまずは手元で動かしてみます。 Slim の Skeleton からプロジェクトを作ると、 composer run-script start
というコマンドでローカルサーバーが起動します。
http://localhost:8080/
をブラウザで開くとちゃんと動いているのが確認できました。
それでは、今度はこれを GAE の Flexible Environment で実行したいと思います。
まず、GAE の設定ファイル (app.yaml
) を以下のようにしました。
runtime: php
env: flex
runtime_config:
document_root: public
そして composer.json
の php バージョンを PHP 7.1 系で動かしたいので "php": "7.1.*",
と変更してみます。
nginx-app.conf
も設置します。app.yaml
と同じところに配置できる設定ファイルは他にもいくつかあります。 https://cloud.google.com/appengine/docs/flexible/php/configuring-your-app-with-app-yaml#the_runtime_config_section
location / {
try_files $uri /index.php$is_args$args;
}
これで、```bash gcloud app deploy —promote
[https://try-gaephp7.appspot.com](https://try-gaephp7.appspot.com)