From 48980a2f05a1bb4e9f3d15f8b5979f7ca7185dbc Mon Sep 17 00:00:00 2001 From: "Dr. Gianluigi \"Zane\" Zanettini" Date: Tue, 29 Oct 2024 09:30:25 +0100 Subject: [PATCH 1/2] fix for HttpClientDataCollector fails if proc_open is disabled via php.ini . Closes #58700 --- .../HttpClient/DataCollector/HttpClientDataCollector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php b/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php index 8e85462737e99..8afddcb9b54e1 100644 --- a/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php +++ b/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php @@ -252,7 +252,7 @@ private function escapePayload(string $payload): string { static $useProcess; - if ($useProcess ??= class_exists(Process::class)) { + if ($useProcess ??= function_exists('proc_open') && class_exists(Process::class)) { return (new Process([$payload]))->getCommandLine(); } From e28af3450041ad901d1c604780d6c3baae941038 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 30 Oct 2024 22:35:56 +0100 Subject: [PATCH 2/2] [HttpClient] Fix Process-based escaping in HttpClientDataCollector --- .../HttpClient/DataCollector/HttpClientDataCollector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php b/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php index 8afddcb9b54e1..a749aa61ceaa9 100644 --- a/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php +++ b/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php @@ -253,7 +253,7 @@ private function escapePayload(string $payload): string static $useProcess; if ($useProcess ??= function_exists('proc_open') && class_exists(Process::class)) { - return (new Process([$payload]))->getCommandLine(); + return substr((new Process(['', $payload]))->getCommandLine(), 3); } if ('\\' === \DIRECTORY_SEPARATOR) {