43

/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';

このファイルは、何らかの方法で Apache の機能を模倣するために使用されているようですが、 Laravel のドキュメントには、それまたはその使用について言及しているmod_rewriteものは見つかりません。

現在、管理していない IIS サーバーで Laravel を利用しようとしています。IIS で URL 書き換えモジュールのオプションを変更することはできませんが (将来変更する予定です)、可能であればフレームワークを使用して作業を開始したいと考えています。このserver.phpファイルは、まさにそれを行うための一時的な解決策のようです。

server.phpファイルの目的と、実際にApacheのmod_rewrite機能をエミュレートすることが目的である場合、ファイルを使用/アクティブ化する方法を誰かが明らかにすることはできますか?

4

2 に答える 2

63

PHP 5.4 で導入されたPHP の内部 Web サーバーで使用するためのものです。

PHPマニュアルによると:

この Web サーバーは開発目的でのみ設計されており、本番環境では使用しないでください。

私はこれを十分に強調することはできません。

Laravel ファイルで使用したい場合はserver.php、cli に移動し、(Laravel ディレクトリのルートから) 次のコマンドでサーバーを起動できます。

php -S localhost:8000 server.php

localhost:8000その後、Web ブラウザーで にアクセスして、Laravel アプリケーションの使用を開始できるはずです。

または、Anand Capurが述べたように、次のコマンドでサーバーを起動できます。

php artisan serve

最終的に、これは前述のphp -Sコマンドを実行するだけです。

オプションで、次のようにしてhostandを指定できます。port

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

すべてのartisanコマンドと同様に、次のようにして、この情報と追加情報を見つけることができます。

php artisan serve --help
于 2013-06-04T15:09:25.793 に答える