в браузере вывываю php файл: PHP: <?php if( $curl = curl_init() ) { curl_setopt($curl,CURLOPT_URL,'http://localhost:8000/api.php'); curl_setopt($curl,CURLOPT_TIMEOUT , 10); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "a=4"); $out = curl_exec($curl); echo $out; curl_close($curl);} ?> он обращается к api.php PHP: <?php $a = 0; if (isset($_POST['a'])) $a = strip_tags($_POST['a']); echo $a * 2; ?> Т.е. идет POST запрос к api.php с одним параметром. По идее должно вернутся значение умноженное на 2, но отваливается по таймауту. Если убрать таймаут то просто висит. Причем весь встроенный в PHP 7.4.5 сервер. Что делаю не так?
https://www.php.net/manual/ru/features.commandline.webserver.php Встроенный веб-сервер выполняет только один однопоточный процесс, поэтому приложения PHP будут останавливаться, если запрос заблокирован. C версии 7.4 добавили возможность указать количество требуемых воркеров в переменной окружения PHP_CLI_SERVER_WORKERS
Это я понял. Но почему процесс висит? Это же простая отправка Post через Curl в PHP. --- Добавлено --- Один ньюанс только - это Windows 10.