概要
GAEにphp7.2のランタイムktkr
やるぞ
Google Cloud Platform Blog: Bringing the best of serverless to you
とりあえずphp7系を試す
phpを書く
ルーティング用コードを記述
app.yaml
の handlers
はphp7では効かないので index.php
へ記述する
// info.php <?php function double(int $num): int { return $num * 2; } var_dump(double(4));
phpinfo
// info.php <?php phpinfo();
7系からの型指定
// type.php <?php function double(int $num): int { return $num * 2 } var_dump(double(4));
ローカルで動作確認
7系で動くことを確認
$ docker run -it -v `pwd`:/app -w /app -p 8000:8000 php:7.2-alpine php -S 0.0.0.0:8000 PHP 7.2.8 Development Server started at Wed Jul 25 04:15:30 2018 Listening on http://0.0.0.0:8000 Document root is /app Press Ctrl-C to quit.
$ curl localhost:8000/type.php int(8) $ open http://localhost:8000/index.php
5系で動かないことを確認
$ docker run -it -v `pwd`:/app -w /app -p 8000:8000 php:5.5-alpine php -S 0.0.0.0:8000 PHP 5.5.38 Development Server started at Wed Jul 25 04:22:04 2018 Listening on http://0.0.0.0:8000 Document root is /app Press Ctrl-C to quit.
$ curl localhost:8000/type.php <br /> <b>Parse error</b>: syntax error, unexpected ':', expecting '{' in <b>/app/type.php</b> on line <b>3</b><br /> $ open http://localhost:8000/index.php
GAEにデプロイ
app.yamlを記述
runtime: php72 api_version: 1 service: php-test
確認
所感
handlers
が動かなくて地味にハマった