dimayakovlev.ru


Использование Grav CMS со встроенным веб-сервером PHP

Одной из полезных возможностей, добавленных в Grav CMS 1.1.10, стала поддержка работы системы управления контентом на встроенном веб-сервере PHP. Однако разработчики, использующие для запуска встроенного веб-сервера метод, описанный в заметке Удобный запуск встроенного веб-сервера PHP в Microsoft Windows, сталкиваются с проблемой.

А именно, вместо страницы веб-сайта, выводится страница с сообщением:

PHP webserver requires a router to run Grav, please use: php -S localhost:8888 system/router.php

То есть, для корректной работы Grav CMS на встроенном веб-сервере PHP, при его запуске необходимо задать скрипт маршрутиризации system/router.php, что не было предусмотрено в рассмотренном решении. Поэтому, для запуска проектов, использующих систему управления контентом Grav CMS, можно создать специальный bat-файл следующего содержания:

echo off
set host=localhost
set port=8888
set router=system/router.php
echo on
if exist "%~1\" (
  cd /d "%~1"
  explorer http://%host%:%port%
) else (
  cd /d "%~dp1"
  explorer http://%host%:%port%/%~nx1
)
php -S %host%:%port% %router%

В дальнейшем, созданный bat-файл, используется согласно рассмотренному ранее решению.

Для запуска встроенного веб-сервера PHP для работы с системой управления контентом Grav CMS вручную из корневой директории проекта с использованием консоли, следует выполнить команду:

php -S localhost:8888 system/router.php