在 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
文件似乎是一个权宜之计。
如果真的是为了模拟 Apache 的 mod_rewrite
功能,谁能解释一下 server.php
文件的用途以及如何使用/激活它?
最佳答案
它应与 PHP's internal web server 一起使用在 PHP 5.4 中引入。
根据PHP手册:
This web server is designed for developmental purposes only, and should not be used in production.
我怎么强调都不过分。
如果你想将它与 Laravel server.php
文件一起使用,你可以前往你的 cli 并使用以下命令(从 Laravel 目录的根目录)启动服务器:
php -S localhost:8000 server.php
然后,您应该可以在 Web 浏览器中前往 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
关于php - Laravel 4 中 server.php 文件的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919920/