3

我不明白为什么。他没有执行 php 文件,而是为我提供下载服务。

在下载的文件中有php源。

我的测试文件很简单,叫做 info.php

<?php

phpinfo();

我的虚拟主机:

<VirtualHost some_ip:80>
DocumentRoot /var/www/vhosts/my_vhost/htdocs
ServerName www.my_vhost.com

<Directory /var/www/vhosts/my_vhost/htdocs/>
    Options All -MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ErrorLog  /var/www/vhosts/my_vhost/logs/error.log
LogLevel warn   
CustomLog /var/www/vhosts/my_vhost/logs/access.log combined

</VirtualHost>

在 apache2 conf 我有一行:

AddType application/x-httpd-php .php

启用 Apache 的模块:

apache2ctl -M
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 actions_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 bw_module (shared)
 cgi_module (shared)
 dav_module (shared)
 dav_fs_module (shared)
 dav_lock_module (shared)
 dav_svn_module (shared)
 authz_svn_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 fcgid_module (shared)
 include_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 perl_module (shared)
 php5_module (shared)
 python_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
 suexec_module (shared)
 userdir_module (shared)
 wsgi_module (shared)
Syntax OK

我必须尝试调试和解决这个问题吗?

我也安装了 phpmyadmin,它工作正常。

4

2 回答 2

1

检查您是否将此文件“php5.conf”和“php5.load”放入“mods-available”(默认路径:/etc/apache2/mods-available)

如果没有,请像这样创建它们:

php5.conf:

<IfModule mod_php5.c>
    <FilesMatch ".ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch ".phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    <IfModule mod_userdir.c>
        <Directory /home/*/site>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

php5.load :

# default PATH : /usr/lib/apache2/module/libphp5.so
LoadModule php5_module PATH/libphp5.so

Phpmyadmin 将配置文件名“phpmyadmin.conf”的链接添加到“/etc/apache2/conf.d”中,并带有启用 php 的必要指令:

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_value include_path .
    </IFModule>
</Directory>
于 2012-11-01T21:49:35.177 回答
1

发现了问题。

他们是2:

  • plesk,哪个配置让我感到困惑,并把文件还给我下载
  • NameVirtualHost 111.22.33.44:80我的虚拟主机中缺少

所以我已经排除了plesk的所有包含,然后问题就很清楚了;无法解析虚拟主机,因为在此之前还有另一个基于 ip 的虚拟主机。

谢谢大家的帮助。

于 2012-11-01T23:25:43.937 回答