Назад | Перейти на главную страницу

Разбор .html как PHP: как проверить, какой метод будет правильным?

Обычный способ разбора .html files as PHP должен добавить либо первую (PHP как модуль Apache), либо обе (PHP как CGI) из следующих строк в .htaccess файл:

AddType application/x-httpd-php .html .htm
AddHandler application/x-httpd-php .html .htm

Иногда это должно быть x-http-php5, в зависимости от хоста:

AddType application/x-httpd-php5 .html .htm
AddHandler application/x-httpd-php5 .html .htm

Однако сейчас я на новом хосте, и никакое проникновение этих строк не работает. Во всех случаях необработанный файл отправляется в браузер, и wget показывает, что x-httpd-php представлен как Content-Type!

HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Date: Tue, 07 Aug 2012 14:16:40 GMT
  Server: Apache
  Last-Modified: Tue, 07 Aug 2012 07:46:44 GMT
  ETag: "862239-14-4c6a83216c100"
  Accept-Ranges: bytes
  Content-Length: 20
  X-Powered-By: PleskLin
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Content-Type: application/x-httpd-php
Length: 20 [application/x-httpd-php]
Remote file exists.

Обратите внимание, что Length: 20 точно длина <?php phpinfo(); ?>, и это то, что он служит. Я подтвердил, что PHP работает как модуль с потрясающей подсказкой в этом ТАК ответе. Я разговаривал с обслуживающим персоналом сервера (партнером, поэтому даже если я переключу хосты, я все равно хотел бы помочь ему решить проблему), и он не знает, в чем проблема или правильная конфигурация. На сервере работает Plesk в дистрибутиве на основе Debian, если это вообще имеет значение.

На самом деле это была проблема конфигурации Apache, на этой странице было решение: http://kb.parallels.com/en/124

Воспроизведено здесь для потомков:

Файлы .htaccess можно включить, поместив следующее в файл «/etc/httpd/conf.d/zz010_psa_httpd.conf»:

AccessFileName .htaccess

<Directory "/var/www/vhosts">
Options +All
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Затем перезапустите Apache:

#service httpd stop
#service httpd start