Упаковка в phar
phar — это разновидность упаковочного файла в PHP, аналогичный JAR. С его помощью можно упаковать проект webman в один phar-файл для удобного развёртывания.
Большое спасибо fuzqing за PR.
Обратите внимание
Необходимо отключить опцию конфигурации phar вphp.ini, установивphar.readonly = 0.
Установка командной строки
composer require webman/console
Упаковка
Запустите команду php webman build:phar в корневом каталоге проекта webman. В каталоге build будет создан файл webman.phar.
Настройки упаковки находятся в файле
config/plugin/webman/console/app.php.
Команды запуска и остановки
Запуск
php webman.phar start или php webman.phar start -d
Остановка
php webman.phar stop
Просмотр статуса
php webman.phar status
Просмотр статуса соединения
php webman.phar connections
Перезапуск
php webman.phar restart или php webman.phar restart -d
Примечания
-
Упакованные проекты не поддерживают reload; для обновления кода требуется перезапуск.
-
Чтобы избежать излишнего размера упаковки и потребления памяти, можно настроить опции
exclude_patternиexclude_filesвconfig/plugin/webman/console/app.phpдля исключения ненужных файлов. -
После запуска webman.phar в каталоге, где находится webman.phar, будет создан каталог
runtimeдля временных файлов, таких как журналы. -
Если ваш проект использует файл .env, необходимо поместить файл .env в каталог, где находится webman.phar.
-
Никогда не храните файлы, загруженные пользователями, внутри phar-пакета, так как операции с такими файлами по протоколу
phar://представляют серьёзную угрозу (уязвимость десериализации Phar). Файлы пользователей должны храниться отдельно на диске вне phar-пакета. См. ниже. -
Если для вашего бизнеса требуется загрузка файлов в каталог public, его необходимо извлечь и разместить в каталоге, где находится webman.phar. В этом случае необходимо настроить
config/app.php.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',Бизнес-логика может использовать вспомогательную функцию
public_path($относительный_путь)для нахождения фактического расположения каталога public. -
webman.phar не поддерживает настраиваемые процессы в Windows.