PureBasic

InitFastCGI()

Синтаксис

Result = InitFastCGI(LocalPort)

Описание


Инициализирует поддержку FastCGI. После вызова все команды CGI автоматически переключаются на поддержку FastCGI. Эта библиотека поддерживает поточную обработку FastCGI при включении "потокового режима" в PureBasic. Поддержка FastCGI поддерживается только через локальный сокет. Перед использованием этой команды необходимо вызвать InitCGI().

В отличие от обычной программы CGI, которая запускается при каждом запросе, программа FastCGI остается в памяти после запуска и может обрабатывать любое количество запросов. Это может быть очень полезно, если инициализация CGI требует времени (например, подключение базы данных), поэтому она выполняется только один раз при запуске.

Параметры

LocalPort Локальный порт для привязки приложения FastCGI. Для использования этого порта необходимо настроить веб-сервер.

Возвращаемое значение

Возвращает не нулевое значение, если среда FastCGI была правильно инициализирована.

Комментарии

Использование FastCGI может быть намного проще для разработки, чем стандартный CGI, так как программа может оставаться в памяти и быть отлажена как обычное приложение PureBasic.

Чтобы сконфигурировать поддержку FastCGI на Apache, Вы должны активировать 'mod _proxy' и 'mod _proxy_fcgi' модули, и затем добавить объявление 'ProxyPass' в конфигурацию:
  ProxyPass /myfastcgiapp/ fcgi://localhost:5600/
Здесь, URL '/myfastcgiapp' будет перенаправлять на программу FastCGI, привязанную к порту 5600. Также можно запустить программу FastCGI на удаленном сервере.

Пример

  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

Все

<- InitCGI() - Оглавление CGI - ReadCGI()->