Php

將 .html 解析為 PHP:如何檢查哪種方法是正確的?

  • August 7, 2012

將文件解析.html為 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 作為一個模組執行,在這個 SO answer 中有很棒的提示。我已經與伺服器的維護人員(一位同事,所以即使我切換主機我仍然想幫助他解決問題)談過,他不知道問題或正確的配置是什麼。伺服器在基於 Debian 的發行版上執行 Plesk,如果這很重要的話。

這實際上是一個 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

引用自:https://serverfault.com/questions/415187