Apache2 仅隐式执行 PHP,而不是在显式打开时执行

Apache2 仅隐式执行 PHP,而不是在显式打开时执行

我遇到了一个相当奇怪的行为。我已将一个简单的 phpinfo 测试脚本(见下文)作为 index.php 放在我的域的根目录中。当我在浏览器中将其作为 www.example.com 打开时,它会正确加载。但是,当我将其作为 www.example.com/index.php 打开时,浏览器会提示我下载文件(即脚本本身),所有其他 .php 文件也会发生同样的情况。只有当隐式打开 index.php 作为域的登录页面时,它才会起作用。

索引.php:

<?php
phpinfo();

配置:
Ubuntu 18.04
Apache 2.4
PHP 7.2

此外,服务器(和 Apache 的配置)通过 Plesk 维护并运行多个域,我拥有 root 访问权限。所有其他域都运行良好,只有这个域运行正常,我无法找出问题所在,因为它的配置方式相同。切换到 nginx 可以正常工作,但是,出于其他原因,我希望这个域由 Apache 提供服务。没有 .htaccess 文件,文件在隐式打开时被执行这一事实表明 PHP 通常可以正常工作。

该域的 httpd.conf 的相关部分:

                <IfModule mod_fcgid.c>
                        FcgidInitialEnv PP_CUSTOM_PHP_INI /var/www/vhosts/system/example.com/etc/php.ini
                        FcgidInitialEnv PP_CUSTOM_PHP_CGI_INDEX fastcgi
                        FcgidMaxRequestLen 134217728
                        FcgidIOTimeout 300
                </IfModule>

                TimeOut 300
                <Directory /var/www/vhosts/example.com>

                        <IfModule mod_fcgid.c>
                                <Files ~ (\.fcgi$)>
                                        SetHandler fcgid-script
                                        Options +ExecCGI
                                </Files>
                        </IfModule>
                        <IfModule mod_fcgid.c>
                                <Files ~ (\.php$)>
                                        SetHandler fcgid-script
                                        FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .php
                                        Options +ExecCGI
                                </Files>
                        </IfModule>

                        SSLRequireSSL

                        Options -Includes +ExecCGI

                </Directory>

相关内容