Közlemény

Collapse
No announcement yet.

IIS10 szerveren PHP script nem tud végrehajtás közben a képenyőre írni, csak mikor lefutott

Collapse
X
 
  • Filter
  • Idő
  • Show
Clear All
new posts

  • IIS10 szerveren PHP script nem tud végrehajtás közben a képenyőre írni, csak mikor lefutott

    Az idegesít, hogy IIS webszerveren a hosszú ideig (akár 1-2-3 percen keresztül) futó PHP scriptek nem tudnak semmit kiírni a képernyőre futás közben, nem látom, hol tartanak, nem látom, elkakadt-e valahol, vagy nem, jó lenne üzeneteket látni a képernyőn menet közben is, nem csak a végén.

    Már próbálkoztam azzal, hogy hozzáadtam a PHP script elejéhez:

    Kód:
    ini_set('zlib.output_compression', 0);
    ini_set('implicit_flush', 1);​
    Illetve egy-egy képernyőre kiíratás után:

    Kód:
    // ez ahhoz kell, hogy menet közben is írjon a képenyőre
    ob_flush();
    flush();​
    De még mindig nem működik. Ötletek?

  • #2
    Próbáld meg ezt (feltéve, hogy a PHP-t FastCGI modulként telepítetted a telepítési utasításoknak megfelelően, PHP_via_FastCGI néven):

    Keresd meg a szerveren a %windir%\System32\inetsrv\config könyvtárban az applicationHost.config fájlt.

    A fájlban add hozzá a PHP_via_FastCGI sorhoz a responseBufferLimit="0" szöveget. így fog kinézni az egész sor:

    Kód:
    <add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />

    Parancssorból is megcsinálhatod:

    Kód:
    %windir%\system32\inetsrv\appcmd.exe set config /section:handlers "/[name='PHP_via_FastCGI'].ResponseBufferLimit:0"

    Comment

    Working...
    X