在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 documentation中找不到任何提及或使用它的内容。
我目前正在尝试在我无法管理的IIS服务器上使用Laravel。我没有能力修改IIS上的URL重写模块选项(我将来会这样),但是如果可能的话,我想立即开始使用框架。这个server.php
文件似乎可能是一个止损解决方案。
任何人都可以了解server.php
文件的用途,以及如果目的是模仿Apache的mod_rewrite
功能,如何使用/激活它?
答案 0 :(得分:57)
它适用于PHP 5.4中引入的PHP's internal web server。
根据PHP手册:
此Web服务器仅用于开发目的,并且 不应该用于生产。
我不能强调这一点。
如果您想将它与Laravel server.php
文件一起使用,您可以使用以下命令(从Laravel目录的根目录)前往cli并启动服务器:
php -S localhost:8000 server.php
然后,您应该可以在网络浏览器中前往localhost:8000
并开始使用Laravel应用程序。
或者,正如Anand Capur所述,您可以使用以下命令启动服务器:
php artisan serve
最终,这只会为您运行上述php -S
命令。
您可以选择通过以下操作指定host
和port
:
php artisan serve --port=8080 --host=local.dev
与所有artisan
命令一样,您可以通过以下方式找到此信息和其他信息:
php artisan serve --help
答案 1 :(得分:12)
您也可以使用命令
artisan serve
将运行相应的命令来启动开发服务器。