PHP comes with a handy for development built-in web server. However, most web projects have friendly URLs these days which are either Apache (mod_rewrite) or Nginx specific configuration. This almost renders built-in PHP web server useless. Unless you provide a PHP-based routing, like so:
$request_uri = __DIR__ . $_SERVER["REQUEST_URI"]; if (file_exists($request_uri)) { return false; } else { include __DIR__ . ‘/index.php'; }
Start the PHP web server with the following command then (routing.php being a file with the above content):
$ cd my-project && php -S localhost:8000 routing.php
Thanks to this blog post and comments. Now you can completely skip having Apache and Nginx on developer machines and all that shenanigan with configuring virtual hosts, modules, and such.
URL rewriting in built-in web server of PHP | Blog of Leonid Mamchenkov: #phpquickfix, #builtin, #webserver, #rewrite http://t.co/qQ5CHlhrL7
RT @phpquickfix: URL rewriting in built-in web server of PHP | Blog of Leonid Mamchenkov: #phpquickfix, #builtin, #webserver, #rewrite http…
Handy :)
Sam ‘Shaggy’ Beale liked this on Facebook.
Thank you very much, you just saved my day!