Класс для работы с FastCGI серверами, такими как php-fpm.
Для тех кто не в теме : веб-сервер, к примеру nginx, получает запросы и отправляет их на исполнение FastCGI серверу, к примеру php-fpm, php-fpm получает имя скрипта, параметры, выполняет все и возвращает результат в nginx, который в свою очередь возвращает этот результат запросившему клиенту.
С помощью класса вы можете так же, выполнять php скрипты на локальном или удаленном сервере.
Исходники https://github.com/EvgeniyKorepov/FastCGIClient
Пример delphi
var
FFastCGI : TFastCGI;
...
procedure TFormMain.FormCreate(Sender: TObject);
var AHost : String;
APort : Word;
AScriptFileName, ARequest, AContent : String;
begin
AHost := '10.0.0.4';
APort := 9000;
FFastCGI := TFastCGI.Create(AHost, APort);
FFastCGI.KeepAlive := True;
AScriptFileName := '/opt/xxx.php';
ARequest := 'request=1234567890';
if FFastCGI.Get(AScriptFileName, ARequest, AContent) then
Memo.Text := AContent
else
Memo.Text := FFastCGI.StatusCode.ToString + ' ' + FFastCGI.StatusText;
end;
пример php
<?php
header('Content-Type: text/html; charset=utf-8');
if (isset($_REQUEST["request"]))
if ($_REQUEST["request"] == "1234567890") {
header("Status: 200");
echo 'OK';
} else {
http_response_code(400);
echo "ERROR";
}