Laravel 4中server.php文件的用途是什么?

Mic*_*yen 37 php laravel laravel-4

/app/Laravel 4 的目录中,有一个名为的文件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';
Run Code Online (Sandbox Code Playgroud)

似乎这个文件在某种程度上用来模仿Apache的mod_rewrite功能,但是我在Laravel文档中找不到任何提及它或它的用途的东西.

我目前正在尝试在我无法管理的IIS服务器上使用Laravel.我没有能力修改IIS上的URL重写模块选项(我将来会这样),但是如果可能的话,我想立即开始使用框架.这个server.php文件似乎可能是一个止损解决方案来做到这一点.

任何人都可以了解server.php文件的用途,以及如果目的是模仿Apache的mod_rewrite功能,如何使用/激活它?

tpl*_*ner 57

它用于PHP的内部Web服务器,它是在PHP 5.4中引入的.

根据PHP手册:

此Web服务器仅用于开发目的,不应在生产中使用.

我不能强调这一点.

如果您想将它与Laravel server.php文件一起使用,您可以使用以下命令(从Laravel目录的根目录)前往cli并启动服务器:

php -S localhost:8000 server.php
Run Code Online (Sandbox Code Playgroud)

然后,您应该可以localhost:8000在Web浏览器中访问并开始使用Laravel应用程序.

另外,正如Anand Capur所提到的,你可以用以下方式启动服务器:

php artisan serve
Run Code Online (Sandbox Code Playgroud)

最终,这只是php -S为您运行上述命令.

您可以选择指定hostport执行以下操作:

php artisan serve --port=8080 --host=local.dev
Run Code Online (Sandbox Code Playgroud)

与所有artisan命令一样,您可以通过执行以下操作找到此信息和其他信息:

php artisan serve --help
Run Code Online (Sandbox Code Playgroud)


Ana*_*pur 12

您也可以使用该命令

artisan serve 这将运行适当的命令来启动开发服务器.