Программирование Примечания

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

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

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

Linux

php start.php start

Эта команда используется в режиме отладки, обычно применяется во время разработки, процесс monitor автоматически обнаруживает обновления файлов и выполняет reload; данные выводятся в терминал, и после закрытия терминала webman также будет автоматически закрыт.

php start.php start -d

Эта команда запускает в режиме демона, используется в производственной среде; после закрытия терминала webman продолжает работу, данные не отображаются в терминале. Для обновления кода необходимо выполнить php start.php reload или php start.php restart -d.

Windows

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

Постоянная память

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

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

Об отношении к выводимым данным

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

Не выполняйте команды exit die

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

Не выполняйте функцию pcntl_fork

pcntl_fork создает процессы пользователем, что не разрешено в webman.

Установка компонентов composer

Компоненты, установленные с помощью команды composer require xxx/xxx, требуют перезапуска для вступления в силу.