InitFastCGI()
Синтаксис
Result = InitFastCGI(LocalPort)
Описание
Инициализирует поддержку FastCGI. После вызова все команды CGI автоматически переключаются на поддержку FastCGI. Эта библиотека поддерживает поточную обработку FastCGI при включении "потокового режима" в PureBasic. Поддержка FastCGI поддерживается только через локальный сокет. Перед использованием этой команды необходимо вызвать InitCGI().
В отличие от обычной программы CGI, которая запускается при каждом запросе, программа FastCGI остается в памяти после запуска и может обрабатывать любое количество запросов. Это может быть очень полезно, если инициализация CGI требует времени (например, подключение базы данных), поэтому она выполняется только один раз при запуске.
Параметры
LocalPort Локальный порт для привязки приложения FastCGI. Для использования этого порта необходимо настроить веб-сервер.
Возвращаемое значение
Возвращает не нулевое значение, если среда FastCGI была правильно инициализирована.
Комментарии
Использование FastCGI может быть намного проще для разработки, чем стандартный CGI, так как программа может оставаться в памяти и быть отлажена как обычное приложение PureBasic.Здесь, URL '/myfastcgiapp' будет перенаправлять на программу FastCGI, привязанную к порту 5600. Также можно запустить программу FastCGI на удаленном сервере.
Чтобы сконфигурировать поддержку FastCGI на Apache, Вы должны активировать 'mod _proxy' и 'mod _proxy_fcgi' модули, и затем добавить объявление 'ProxyPass' в конфигурацию:ProxyPass /myfastcgiapp/ fcgi://localhost:5600/
Пример
If Not InitCGI() End EndIf If Not InitFastCGI(5600) ; Создадим программу FastCGI на порту 5600 End EndIf While WaitFastCGIRequest() If ReadCGI() WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) ; Запишем заголовки, чтобы сообщить браузеру о формате содержимого WriteCGIString("<html><title>PureBasic - FastCGI</title><body>" + "Hello from PureBasic FastCGI !<br>" + "Actual time: <b>"+FormatDate("%hh:%ii", Date()) + "</b>" + "</body></html>") EndIf Wend
См. также
InitCGI(), WaitFastCGIRequest()
Поддерживаемые OS
Все