@jennik

Почему apache mod_fcgid отдает скрипты *.php прямым текстом?

Доброго времени суток!

При настройке сервера apache с mod_fcgid возникла следующая проблема:
Все файлы *php отдаются "как-есть", т.е. код
<?
echo 'test';

Выглядит в браузере как
<?
echo 'test';

а не
test

Буду благодарен за помощь в решении.

Ниже приведена информация, которая может быть полезной:
# cat /etc/redhat-release
CentOS release 6.5 (Final)

# rpm -qa | grep -iE "http|mod_fcgid"
mod_fcgid-2.3.9-1.el6.x86_64
httpd-tools-2.2.15-31.el6.centos.x86_64
httpd-2.2.15-31.el6.centos.x86_64

# php-cgi -v
PHP 5.5.15 (cgi-fcgi) (built: Aug  7 2014 05:56:28)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

# which php-cgi
/usr/local/bin/php-cgi

# php -v
PHP 5.5.15 (cli) (built: Aug  7 2014 05:56:14) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 23 2014 14:17:29

# cat /var/www/php-cgi/php.cgi 
#!/bin/sh
PHPRC=/usr/local/lib/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=500
exec /usr/local/bin/php-cgi

# cat /etc/httpd/conf.d/test.ru.conf 
<VirtualHost *:80>
	DocumentRoot /var/www/vhosts/test.ru/html
	#DirectoryIndex index.php
	ServerName test.ru
	ServerAlias www.test.ru
	CustomLog /var/www/vhosts/test.ru/access.log vcombined
	ErrorLog /var/www/vhosts/test.ru/error.log

	<IfModule mod_fcgid.c>
		SuexecUserGroup www staff
		<Directory /var/www/vhosts/test.ru>
			Options +ExecCGI
			AllowOverride All
			AddHandler fcgid-script .php
			FCGIWrapper /var/www/php-cgi/php.cgi .php
			Order allow,deny
			Allow from all
		</Directory>
	</IfModule>
</VirtualHost>

Логи:
# tail /etc/httpd/logs/error_log 
[Fri Aug 08 05:29:59 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 08 05:29:59 2014] [notice] Digest: generating secret for digest authentication ...
[Fri Aug 08 05:29:59 2014] [notice] Digest: done
[Fri Aug 08 05:29:59 2014] [notice] Apache/2.2.15 (Unix) DAV/2 mod_fcgid/2.3.9 configured -- resuming normal operations

# tail /etc/httpd/logs/suexec.log 
[2014-08-08 04:23:47]: uid: (500/www) gid: (500/staff) cmd: php.cgi
[2014-08-08 04:35:58]: too few arguments
[2014-08-08 04:53:32]: uid: (500/www) gid: (500/staff) cmd: php.cgi
[2014-08-08 05:31:38]: uid: (500/www) gid: (500/staff) cmd: php.cgi

Спасибо за любую помощь.
  • Вопрос задан
  • 3012 просмотров
Решения вопроса 1
@jennik Автор вопроса
Прошу прощения. В php.ini был выключен short_tags. Поэтому и пхп не интерпретировался.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы