Подтвердить что ты не робот

Какова цель файла server.php в 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 "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, в которой упоминается или используется.

В настоящее время я пытаюсь использовать Laravel на сервере IIS, который мне не удается. У меня нет возможности изменять параметры модуля перезаписи URL-адресов в IIS (я буду в будущем), но хотел бы начать работу с фреймворком сейчас, если это возможно. Этот файл server.php кажется, что это может быть решение стоп-зазора, чтобы сделать именно это.

Может ли кто-нибудь пролить свет на цель файла server.php и как его использовать/активировать, если целью является действительно эмулировать функциональность Apache mod_rewrite?

4b9b3361

Ответ 1

Он предназначен для использования с внутренним веб-сервером PHP, который был представлен в PHP 5.4.

Согласно руководству PHP:

Этот веб-сервер предназначен только для целей развития, и не должны использоваться в производстве.

Я не могу это подчеркнуть.

Если вы хотите использовать его с файлом Laravel server.php, вы можете отправиться в свой кли и запустить сервер с помощью следующей команды (из корня вашего каталога Laravel):

php -S localhost:8000 server.php

Затем вы можете перейти в localhost:8000 в своем веб-браузере и начать использовать ваше приложение Laravel.

В качестве альтернативы Ананд Капур упоминается, что вы можете запустить сервер с помощью:

php artisan serve

В конечном счете это просто запускает вышеупомянутую команду php -S для вас.

Вы можете указать host и port, выполнив что-то вроде:

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

Как и все команды artisan, вы можете узнать эту информацию и дополнительную информацию, выполнив следующие действия:

php artisan serve --help

Ответ 2

Вы также можете использовать команду

artisan serve, который запустит соответствующую команду для запуска сервера разработки.