Laravel 4 中服务器.php文件的目的是什么?

2022-08-30 11:41:35

在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的功能,但是我在Laravel文档中找不到任何提到它或它的用途的东西。mod_rewrite

我目前正在尝试在不管理的IIS服务器上使用Laravel。我无法修改IIS上的URL重写模块选项(我将来会这样做),但如果可能的话,我想现在就开始使用框架。此文件似乎可能是执行此操作的权宜之计。server.php

任何人都可以阐明文件的目的,以及如果目的真的是模仿Apache的功能,如何使用/激活它?server.phpmod_rewrite


答案 1

它旨在与PHP 5.4中引入的PHP内部Web服务器一起使用。

根据 PHP 手册:

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

这一点我怎么强调也不过分。

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

php -S localhost:8000 server.php

然后,您应该能够进入Web浏览器并开始使用Laravel应用程序。localhost:8000

或者,正如Anand Capur所提到的,您可以使用以下命令启动服务器:

php artisan serve

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

您可以选择通过执行如下操作来指定 和:hostport

php artisan serve --port=8080 --host=local.dev

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

php artisan serve --help

答案 2

您还可以使用以下命令

artisan serve这将运行相应的命令来启动开发服务器。


推荐