我正在build立一个新的域名,有点奇怪的问题; Apache目前没有像应该那样提供PHP文件,而是强制下载一个.PHTML文件。
我search了Google,并使用search没有发现任何修复。
这个问题有点奇怪,因为我目前有其他的网站在同一台服务器上运行,并且已经使用了相同的configuration,并且没有遇到这个问题。
VirtualHostconfiguration如下
<VirtualHost *:80> DocumentRoot /var/www/vhosts/mydomain.com/httpdocs ServerAlias *.mydomain.com ServerName mydomain.com #AddHandler application/x-httpd-php .php #DirectoryIndex index.php <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory> CustomLog "/var/www/vhosts/mydomain.com/logs/combined.log" combined </VirtualHost>
正如你所看到的,它非常简单…
我已经尝试了以下无济于事
现在我不确定,但我认为这可能与Plesk已安装并用于pipe理通过Media Temple托pipe的此服务器上托pipe的大部分域不同的事实
这当然是无法通过Pleskconfiguration的域之一,因为需要自定义的VirtualHost conf,而Plesk根本不允许这么做……很容易就是这样。
我在这里发布之前,先联系Media Temple,因为上次我与Apacheconfiguration有关的问题Media Temple在这个问题上几乎没有任何帮助,因为它超出了他们的支持范围,我没有30分钟的时间花在保持…
你有没有尝试用php取消注释行?
#AddHandler application/x-httpd-php .php #DirectoryIndex index.php
不应该有#号开始他们的行,表示他们。
另外,请确保你的apache conf.d/目录下有php.conf文件(或者你用于你的conf文件的目录)。
您可以尝试从控制台运行“php -v”命令,它应该打印出您的PHP版本的通知,并附加错误信息从您的php.iniconfiguration文件。
安装了PHP 5.2.6后,你重启了Apache吗?
问题已经解决…不知道如何或为什么,但显然复制文件夹结构和configurationsame exact config which had already been attempted and failed的Plesk创build域似乎解决了这个问题…
结果configuration
<VirtualHost myip:80> ServerAlias *.mydomain.com ServerName mydomain.com DocumentRoot /var/www/vhosts/mydomain.com/httpdocs CustomLog /var/www/vhosts/mydomain.com/statistics/logs/access_log plesklog ErrorLog /var/www/vhosts/mydomain.com/statistics/logs/error_log <IfModule mod_userdir.c> UserDir /var/www/vhosts/mydomain.com/web_users </IfModule> <IfModule mod_ssl.c> SSLEngine off </IfModule> <Directory /var/www/vhosts/mydomain.com/httpdocs> <IfModule sapi_apache2.c> php_admin_flag engine on php_admin_flag safe_mode off php_admin_value open_basedir "/var/www/vhosts/mydomain.com/httpdocs:/tmp" </IfModule> <IfModule mod_php5.c> php_admin_flag engine on php_admin_flag safe_mode off php_admin_value open_basedir "/var/www/vhosts/mydomain.com/httpdocs:/tmp" </IfModule> Options -Includes -ExecCGI </Directory> <Directory /var/www/vhosts/mydomain.com/web_users> <IfModule sapi_apache2.c> php_admin_flag engine off </IfModule> <IfModule mod_php5.c> php_admin_flag engine off </IfModule> </Directory> </VirtualHost>
请注意,这是我不喜欢Plesk的另一个原因….
确保右边部分中包含php_admin_flag engine行是On 。 这在某些Linux发行版中默认是禁用的。
如果你使用mod_userdir Apache扩展,启用它(通过a2enmod userdir ),你必须编辑/etc/apache2/mods-enabled/php*.conf文件来启用上面的标志。