Apache: Premature end of script headers

Автор: | 16/09/2012

На одном из витуралхостов вместо содержимого стартовой страницы – белая страница, в логе ошибок выдается сообщение:

[Sun Sep 16 20:53:10 2012] [warn] [client 94.153.65.118] (53)Software caused connection abort: mod_fcgid: error reading data from FastCGI server
[Sun Sep 16 20:53:10 2012] [error] [client 94.153.65.118] Premature end of script headers: php.cgi

Apache работает в режиме FastCGI с модулем SUEXEC, описана тут>>>.

Смотрим лог самого SUEXEC:

[2012-09-16 20:53:10]: uid: (1001/setevoy) gid: (1001/setevoy) cmd: php.cgi
[2012-09-16 20:53:10]: target uid/gid (1001/1001) mismatch with directory (1001/1001) or program (0/0)

Несовпадение владельцев файлов.

Проверяем:

# ls -la

-rw-r–r–  1 setevoy  setevoy    668 Sep 16 20:43 extensions.ini
-rwxr-xr-x  1 root     wheel      271 Sep 16 18:38 php.cgi
-rw-r–r–  1 setevoy  setevoy  66938 Sep 16 18:37 php.ini

Вот и ошибка – владелец root (UID 0, GID 0), а должен быть setevoy (UID 1001, GID 1001).

Об этом нам и сообщает SUEXEC  в логе:

target uid/gid (1001/1001) … or program (0/0)”

Исправляем, теперь в логе:

[2012-09-16 21:13:27]: uid: (1001/setevoy) gid: (1001/setevoy) cmd: php.cgi

Все работает.