Какова цель файла 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
?
Ответы
Ответ 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
, который запустит соответствующую команду для запуска сервера разработки.