在Laravel 4的/app/
目录中,有一个名为server.php
的文件。该文件的内容如下所示:
<?php
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri = urldecode($uri);
$paths = require __DIR__.'/bootstrap/paths.php';
$requested = $paths['public'].$uri;
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' and file_exists($requested))
{
return false;
}
require_once $paths['public'].'/index.php';
似乎这个文件是在某种程度上用来模仿Apache的mod_rewrite
功能,但是我在Laravel文档中找不到任何提到它或它的使用。
我目前正在尝试在我不管理的IIS服务器上使用Laravel。我没有能力修改IIS上的URL重写模块选项(我将在未来),但如果可能的话,现在想开始使用框架。这个server.php
文件似乎可能是一个权宜之计。
谁能透露一些server.php
文件的目的,以及如何使用/激活它,如果目的真的是模仿Apache的mod_rewrite
功能?
用于PHP 5.4中引入的内部web服务器。
根据PHP手册:
此web服务器仅用于开发目的,并且
我怎么强调都不为过。
如果你想使用它与Laravel server.php
文件,你可以前往你的cli和启动服务器用以下命令(从你的Laravel目录的根目录):
php -S localhost:8000 server.php
你应该能够在你的web浏览器中转到localhost:8000
并开始使用你的Laravel应用程序。
php artisan serve
最终,这只是为您运行前面提到的php -S
命令。
您可以选择指定host
和port
,执行如下操作:
php artisan serve --port=8080 --host=local.dev
与所有artisan
命令一样,您可以通过以下命令查找此信息和其他信息:
php artisan serve --help
您也可以使用
命令 artisan serve
,它将运行适当的命令来启动开发服务器。