PHP5.6のビルドインサーバで、CakePHP1.3.21をDebugKitも含めて(Pluginのwebrootルーティングも含めて)綺麗に動かすまで頑張ってるの、たぶん俺くらい
— k1LoW (@k1LoW) 2016年8月19日
CakePHP1.3.21で作られたアプリケーションをPHP5.6.17のビルドインサーバで確認したいとき、ありますよね?
ありますよね?
ありますよね?
CakePHP1.3.21はビルドインサーバで動くのか
shin1x1さんのコントリビュートにより、CakePHP1.3.21は、特に手を入れずにビルドインサーバで動くようになりました。
$ php -S localhost:3000 -t app/webroot
で起動できます。
しかし、
実は、このままだとDebugKitなどは綺麗には表示されないのです。

これはプラグインのCSSやJavaScriptのパス解決がうまくいっていなからです。
綺麗に動かしたい
ということで、app/webroot/index.php にさらにパッチを当てます。
--- index.php 2016-09-02 15:04:53.000000000 +0900
+++ index.mod.php 2016-09-02 15:06:14.000000000 +0900
@@ -74,6 +74,9 @@
}
}
if (php_sapi_name() == 'cli-server') {
+ if ($_SERVER['REQUEST_URI'] !== '/' && file_exists($_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'])) {
+ return false;
+ }
$_SERVER['PHP_SELF'] = '/'.basename(__FILE__);
}
if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
そして、起動コマンドにもひと工夫加えます。
$ php -S localhost:3000 -t app/webroot app/webroot/index.php
すると!

これで無事CakePHP1.3.21なプロジェクトもストレスなく確認ができますね!