Преждевременный конец заголовков скрипта с mod_fcgid и PHP

Я пытаюсь установить Wordpress в Windows 7. Я использую Wordpress 3.9.2, Apache 2.2.25 (httpd-2.2.25-win32-x86-openssl-0.9.8y.msi), PHP 5.5.16 (php-5.5.16-Win32-VC11-x86.zip) и mod_fcgid 2.3.6 (mod_fcgid-2.3.6-win32-x86.zip).

Вот настройки Apache, которые я пытаюсь использовать:

LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "C:/php"
AddHandler fcgid-script .php
FcgidWrapper "C:/php/php-cgi.exe" .php

Когда я пытаюсь посетить любую страницу, я получаю 500 Internal Server Error с такими записями error.log:

[Thu Aug 21 13:45:45 2014] [warn] [client 127.0.0.1] (OS 109)The pipe has been ended.  : mod_fcgid: get overlap result error, referer: http://localhost:8080/wordpress/readme.html
[Thu Aug 21 13:45:45 2014] [error] [client 127.0.0.1] Premature end of script headers: install.php, referer: http://localhost:8080/wordpress/readme.html
[Thu Aug 21 14:05:05 2014] [warn] [client 127.0.0.1] (OS 109)The pipe has been ended.  : mod_fcgid: get overlap result error
[Thu Aug 21 14:05:05 2014] [error] [client 127.0.0.1] Premature end of script headers: test.php

Я заметил, что в файлах PHP в дистрибутиве Wordpress используются окончания строк LF вместо CRLF. Однако test.php — это крошечный файл, который я создал в Блокноте, поэтому он должен использовать окончания CRLF вместо LF. Поэтому окончание строк не кажется проблемой.


person Tanner Swett    schedule 21.08.2014    source источник


Ответы (1)


Ну, теперь это работает, и я не знаю, как я это исправил.

Вот что я помню. test.php выдавал мне вышеописанную ошибку 500. Я попытался запустить php.exe в командной строке Windows, а также раскомментировал строку error_log в php.ini. (Оба этих действия выявили явно несвязанное предупреждение «Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку« C: \ php \ php_mysqli.dll »- указанный модуль не найден».) Затем я попытался посетить test.php снова, и это сработало.

person Tanner Swett    schedule 21.08.2014
comment
Это так странно! Простое включение error_log = php_errors.log в php.ini сделало свое дело! - person CJ Dennis; 23.10.2019