IIS 10 странное поведение http против https - php грипп sh - responseBufferLimit равно 0 - PullRequest
0 голосов
/ 30 марта 2020

Я использую FastCGI для запуска PHP7 на веб-сервере IIS10 для двух сайтов:

  1. Веб-сайт по умолчанию, связанный с портом 80 и портом 443
  2. Разработка (порт 5588)

для обоих вариантов responseBufferLimit установлено в 0. На первом сайте также включен ssl. Вывод длинных php сценариев до их завершения работает на сайте 2 http и сайте 1 https, но не на сайте 1 http.

В целях тестирования я использую:

<?php
set_time_limit(0);

function flush_buffers()
{
    ob_end_flush();
    ob_flush();
    flush();
    ob_start();
}

ob_start();
flush_buffers();
echo "starting...<br/>\n";
for($i = 0; $i < 2; $i++) 
{
    flush_buffers();
    print   "$i<br/>\n";
    flush_buffers();
    sleep(1);
}

flush_buffers();

print "DONE!<br/>\n";
?>

Также, если я создаю другой сайт с теми же источниками PHP на другом порту, он также работает. Но если я попытаюсь использовать тот же порт 80 на новом сайте через http, он перестает работать.

  • Я попытался установить responseBufferLimit в C:\inetpub\wwwroot\web.config и в C:\Windows\System32\inetsrv\config\applicationHost.config.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<handlers>
<remove name="FastCGI" />
<add name="FastCGI" path="*.php" verb="*" type="" modules="FastCgiModule" scriptProcessor="E:\PHP7\php-cgi.exe" resourceType="File" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
</handlers>
...
</system.webServer>
</configuration>
  • iisreset после каждой модификации
  • удалил мой модуль FastCGI, затем поместил его обратно
  • сделал все через IIS Manager GUI тоже
  • попытался добавить с помощью CLI тоже. FastCGI - это имя моего обработчика c.
appcmd.exe set config "Default Web Site" -section:system.webServer/handlers /[name='FastCGI'].responseBufferLimit:"0"
  • попытался установить значение 1 вместо 0
  • вернуть его на 0
  • iisreset после каждого мода c
  • Я даже убрал привязку ssl с 1-го сайта. То же поведение
  • Попытка установки динамич c Сжатие в false тоже
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <urlCompression doDynamicCompression="false" />
    </system.webServer>
</configuration>

Я просто потерян

...