2016-05-19 36 views
7

Uwaga: Wiem, że wygląda to na duplikat this question. Nie widzę, jak to jest duplikat. Powiedziałem już, że sprawdziłem to pytanie i próbowałem wszystkich odpowiedzi, ale nie zadziałało.Spłukanie PHP nie zostało zatrzymane w IIS 8

Oto, co starałem:

  1. Pod odpowiedź Dario, ja śledził kroki, ale nie znaleźliśmy żadnych php w sekcji nazwy

  2. Na zaakceptowanej odpowiedzi uruchomić sam Kod na linii poleceń, ale to pokazuje:

    appcmd.exe set config /section:handlers "/[name='PHP55_via_FastCGI'].ResponseBufferLimit:0" 
    

    i że zwróci to:

    BŁĄD (wiadomość: nie można znaleźć żądanego elementu kolekcji.)

  3. Potem sprawdził podręcznik PHP:

    flush manual

    nie znalazłem nic w tym pliku konfiguracyjnym jak _via_FastCGI

  4. Sprawdziłem ustawienia PHP Plesk i tak mój serwer działa w trybie FastCGI.

Tak, pracowałem tyle godzin na moim serwerze programistycznym dla tej części, a teraz na moim serwerze na żywo nie działa. Każda pomoc będzie bardzo mile widziane

Aktualizacja 1:

jak sugeruje @artlung, mam załączeniu zrzut ekranu tutaj:

FAST CGI HANDLERS

Aktualizacja 2:

Oto, co znalazłem w notatniku ++, szukając słowa kluczowego "FastCGI"

<add name="FastCgiModule" lockItem="true" /> 
<add name="PleskEngine-FastCGI-html" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PleskEngine-FastCGI-html" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PleskEngine-FastCGI-php3" path="*.php3" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PleskEngine-FastCGI-php3" path="*.php3" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PleskEngine-FastCGI-php" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PleskEngine-FastCGI-php" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\admin\bin\php-cgi.exe|-dauto_prepend_file=auth.php" resourceType="Either" responseBufferLimit="0" /> 
<add name="PHP-phtml" path="*.phtml" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php3" path="*.php3" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-phtml" path="*.phtml" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php3" path="*.php3" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-phtml" path="*.phtml" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php3" path="*.php3" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
<add name="PHP-php" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\php-cgi.exe" resourceType="Either" /> 
+0

Możliwy duplikat [php spłukiwania zatrzymał spłukiwania w IIS7.5] (http://stackoverflow.com/questions/7178514/php-flush-stopped-flushing-in -iis7-5) –

+1

Czy przeczytałeś mój post? Powiedziałem, że sprawdziłem ten post i to nie rozwiązało mojego problemu, więc musiałem napisać własne :( –

+0

Czy coś tu jest pomocne? https://www.iis.net/configreference/system.webserver/fastcgi – artlung

Odpowiedz

1

Spójrz na fcgiext.ini i usuń/dodaj linię ResponseBufferLimit=0 do niego, a następnie ponownie uruchomić usługi IIS.

+1

dziękuję, ale przeszukałem cały dysk, ale nie znalazłem tego pliku ... –

3

appcmd.exe set config /section:handlers "/[name='NAME'].ResponseBufferLimit:0"

Zmień NAME nazwy obsługi chcesz zaktualizować np PHP7_via_FastCGI.

Sprawdź ścieżki, to powinno rozwiązać problem, miałem ten sam problem i ta metoda pomogła mi.

3

Istnieje wiele funkcji i ich ustawień, które mogą być ze sobą w konflikcie w IIS.

Wygląda na to, że nie można ustawić responseBufferLimit dla swojego programu obsługi.

Najpierw musisz wiedzieć, jakie jest imię twojego handlarza.

Otwórz wiersz polecenia i uruchom:

%windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/handlers | find "FastCGI" 

Jest możliwe, aby mieć więcej niż jeden obsługi wymienionych poniżej i jak to jest w porządku. Twój jest górny, tutaj jest PHP53_via_FastCGI.

<add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" /> 
<add name="PHP54_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either"/
<add name="PHP55_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.5\php-cgi.exe" resourceType="Either" /> 
<add name="PHP56_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" /> 
<add name="PHP70_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.0\php-cgi.exe" resourceType="Either" /> 

Zastępując PHP53_via_FastCGI z Ciebie, uruchom następujące polecenie, aby zmienić responseBufferLimit:

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/handlers /[name='PHP53_via_FastCGI'].responseBufferLimit:"0" /commit:apphost 

zrestartować IIS uruchamiając:

iisreset 

Spróbuj ponownie stronę php obciążenia.

Jeśli nadal nie działa zgodnie z oczekiwaniami, możesz być pewien, że dzieje się tak z powodu dynamicznej kompresji IIS. Ponieważ obsługuje on wszystkie dynamiczne odpowiedzi o typie treści text/* domyślnie, gdy jest włączony, może blokować odpowiedź PHP na kompresję.

Można tymczasowo wyłączyć kompresję dynamiczną, aby sprawdzić, czy działa. Wykonaj kopię zapasową swojej strony internetowej o nazwie web.config, a następnie dodaj poniższe i spróbuj załadować swoją stronę PHP.

web.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <urlCompression doDynamicCompression="false" /> 
    </system.webServer> 
</configuration> 

W przypadku, gdy nie chcesz, aby wyłączyć kompresję dynamiki dla całej strony internetowej, istnieją inne poziomy można wyłączyć kompresję dynamiki dla aplikacji wirtualnych, fizycznych i wirtualnych katalogi lub określony plik.

Aby uzyskać więcej informacji zajrzyj na HTTP Compression Feature Requirements

+0

Drogi panie, po uruchomieniu polecenia find dla appcmd nic nie zwraca; ( –

+0

@Zakir_SZH nazwa twojego programu obsługi php nie zawiera Najprawdopodobniej "FastCGI", a następnie uruchom polecenie bez '| find" FastCGI "' i użyj atrybutu 'name' w górnym podpowiedzi PHP dla następnej komendy: –

+0

@Zakir_SZH pamiętaj, aby uruchamiać te komendy w ** Podniesionym administratorze ** –