2019-09-23
不經由 nginx 直接連接 php-fpm
有時候測試 PHP,會遇到使用 fpm (FastCGI) 的本地端架構,
因為是 FastCGI 的模式,並不能跟平常一樣使用 http client 做連接
此時可以改為安裝 FastCGI client 來進行測試
以下是兩種常用的 client 跟使用方法
- brew install fcgi
SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
REQUEST_METHOD=GET \
X_SECRET=123
cgi-fcgi -bind -connect 127.0.0.1:9000
- 或是安裝 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