Знание программирования

Операционная система

webman поддерживает одновременную работу как в системе Linux, так и в системе Windows. Однако из-за того, что workerman не поддерживает настройку многопроцессорности и демонизацию в системе Windows, рекомендуется использовать Windows только для разработки и отладки в рабочей среде, вместо этого для рабочей среды следует использовать систему Linux.

Способы запуска

В системе Linux используйте команду php start.php start (режим отладки) или php start.php start -d (режим демона) для запуска.
В системе Windows выполните windows.bat или используйте команду php windows.php для запуска, и нажмите ctrl c для остановки. Система Windows не поддерживает команды типа stop reload status reload connections и т. д.

Постоянное нахождение в памяти

webman - это фреймворк с постоянным нахождением в памяти. Обычно после загрузки файлов PHP они будут повторно использоваться и не будут снова считываться с диска (за исключением файлов шаблонов). Поэтому для того, чтобы бизнес-код или изменения конфигурации вступили в силу в рабочей среде, необходимо выполнить php start.php reload. Если внесены изменения в настройки процесса или установлен новый пакет composer, требуется перезапускать php start.php restart.

Для удобства разработчиков webman имеет собственный монитор, используемый для отслеживания обновлений файлов бизнес-логики. При обнаружении обновления файлов бизнес-логики автоматически выполняется перезагрузка. Эта функция доступна только при работе workerman в режиме отладки (без параметра -d) и доступна пользователям Windows при выполнении windows.bat или php windows.php.

О выводе

В традиционных проектах на PHP-FPM использование функций echo var_dump для вывода данных приводит к их отображению непосредственно на странице, однако в webman эти выводы, как правило, отображаются в терминале, а не на странице (за исключением вывода в файлах шаблонов).

Не используйте выходные инструкции exit die

Использование инструкций die или exit приводит к завершению процесса и его перезапуску, что приводит к некорректному ответу на текущий запрос.

Не вызывайте функцию pcntl_fork

Использование функции pcntl_fork для создания процессов запрещено в webman.