Hsüan's Blog

2019-09-23

不經由 nginx 直接連接 php-fpm

有時候測試 PHP,會遇到使用 fpm (FastCGI) 的本地端架構,

因為是 FastCGI 的模式,並不能跟平常一樣使用 http client 做連接

此時可以改為安裝 FastCGI client 來進行測試

以下是兩種常用的 client 跟使用方法

  1. brew install fcgi
SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
REQUEST_METHOD=GET \
X_SECRET=123
cgi-fcgi -bind -connect 127.0.0.1:9000
  1. 或是安裝 PHP 版的 FastCGI
// fcgi.php
use hollodotme\FastCGI\Client;
use hollodotme\FastCGI\Requests\PostRequest;
use hollodotme\FastCGI\SocketConnections\NetworkSocket;

$client = new Client();
$connection = new NetworkSocket('127.0.0.1', 9000);
$request = new PostRequest('/app/index.php', '{"a":123}');
$request->addCustomVars([
  'X_SECRET' => '123'
]);
$response = $client->sendRequest($connection, $request);
echo $response->getOutput();
php fcgi.php

© 2019 ~ 2024 Hsüan, Powered by Gatsby, Theme Material UI