php73@gae でローカルでテストするときのメモ。
php72/73 では dev_appserver.py が無くなったので、普通に php インストールしてテストする。
が、普通に
php -S localhost:8080
とかやるだけだと、gaeにデプロイした時と違う挙動になる。
app.yaml
runtime: php73
entrypoint: serve --workers=4 --enable-dynamic-workers index.php
index.php
<?php
switch (@parse_url($_SERVER['REQUEST_URI'])['path']) {
case '/':
require 'hello.php';
break;
case '/test':
require 'test.php';
break;
case '/dir/test':
require 'dir/test.php';
break;
default:
http_response_code(404);
exit('Not Found');
}
とかのデバッグをローカルでやる場合、
は問題ないが
は
Not Found
The requested resource /dir/test was not found on this server.
となってしまう。
この場合、ビルトインウェブサーバーの起動時にルータースクリプトとして index.php を指定するとよい。
php -S localhost:8080 index.php