Знание программирования
Операционная система
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.