Программирование Примечания
Операционная система
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
, требуют перезапуска для вступления в силу.