2016-05-19 2 views
7

Примечание: Я знаю, что это похоже на дубликат this question. Я не вижу, как это дубликат. Я уже заявил, что я проверил этот вопрос, и я попробовал все ответы, но это не сработало.PHP-промывка прекратила промывку в IIS 8

Вот что я пробовал:

  1. Под ответом Дарио, я последовал за шагами, но не нашел PHP под именем раздела

  2. На принятый ответ я запускаю тот же код на командной строке, но она показывает:

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

    и возвращает это:

    ОШИБКА (сообщение: Не удалось найти искомый элемент коллекции.)

  3. Затем я проверил PHP руководство:

    flush manual

    я не нашел ничего в этом файле конфигурации, как _via_FastCGI

  4. Я проверил настройки PHP Plesk и да мой сервер работает в режиме FastCGI.

Итак, я работал так много часов на моем сервере разработки для этой части флеша, и теперь на моем живом сервере он не работает. Любая помощь будет высоко оценен

Update 1:

как предложено @artlung, я приложил скриншот здесь:

FAST CGI HANDLERS

Update 2:

Вот что я нашел в блокноте ++, выполнив поиск по ключевому слову «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

Возможный дубликат [PHP флеш перестал топить в IIS7.5] (http://stackoverflow.com/questions/7178514/php-flush-stopped-flushing-in -iis7-5) –

+1

Вы прочитали мое сообщение? я сказал, что у меня есть проверка этого сообщения, и это не решило мою проблему, поэтому я должен был опубликовать свой собственный :( –

+0

Что-нибудь здесь полезно? https://www.iis.net/configreference/system.webserver/fastcgi – artlung

ответ

1

Ищите fcgiext.ini и раскомментируйте/добавьте в него строку ResponseBufferLimit=0, а затем перезапустите IIS.

+1

спасибо, сэр, но я искал весь диск, но не нашел этот файл ... –

3

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

Изменение NAME на имя обработчика, который требуется обновить, например, PHP7_via_FastCGI.

Проверьте пути, Он должен решить вашу проблему, у меня была такая же проблема, и этот метод помог мне.

3

Существует множество функций и их настроек, которые могут конфликтовать друг с другом в IIS.

Похоже, что вы не можете установить responseBufferLimit для вашего обработчика.

Прежде всего, вам нужно знать, что является именем вашего обработчика.

Откройте командную строку и выполните команду:

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

Это возможно иметь более чем один обработчик перечисленных, как показано ниже, и это нормально. Ваш - верхний, здесь 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" /> 

Заменяя PHP53_via_FastCGI с вашими, выполните следующую команду, чтобы изменить responseBufferLimit: Перезапуск

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

в IIS, запустив:

iisreset 

Попробуйте страницу PHP нагрузки снова.

Если все еще не работает должным образом, вы можете быть уверены, что это связано с динамическим сжатием IIS. Поскольку он обрабатывает все динамические ответы с типом контента text/* по умолчанию, когда он включен, он может блокировать ответ PHP для сжатия.

Вы можете временно отключить динамическое сжатие, чтобы увидеть, работает ли оно. Сделайте резервную копию своего веб-сайта web.config и вместо этого поставьте вместо этого и попытайтесь загрузить свою страницу PHP.

web.config

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

В случае, если вы не хотите, чтобы отключить динамическое сжатие для всех веб-сайта, есть и другие уровни можно отключить динамическое сжатие для виртуальных приложений, физических и виртуальных каталогов или определенного файла.

Для получения дополнительной информации посмотрите на HTTP Compression Feature Requirements

+0

дорогой сэр, когда я запустил команду find для appcmd, он ничего не возвращает; ( –

+0

@Zakir_SZH имя вашего php-обработчика не содержит 'FastCGI', а затем запустить команду без' | find "FastCGI" 'part и использовать атрибут' name' верхнего обработчика PHP, связанный с следующей командой. –

+0

@Zakir_SZH не забудьте запустить эти команды в ** Administrator Elevated ** командной строки. –

Смежные вопросы