Я использую FastCGI для запуска PHP7 на веб-сервере IIS10 для двух сайтов:
- Веб-сайт по умолчанию, связанный с портом 80 и портом 443
- Разработка (порт 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>
Я просто потерян