如何在默认目录上启用 PHP 执行?

如何在默认目录上启用 PHP 执行?

我正在使用 Plesk 设置服务器,我们希望能够提供一个可公开访问的 phpMyAdmin 副本。

我能确定它会去哪里:

/var/www/vhosts/default/httpsdocs

但是,它将 phpMyAdmin 作为实际的 PHP 文件而不是执行的 PHP 来提供。

在该目录上启用 PHP 执行的最佳/正确方法是什么?

答案1

你没有写你使用什么网络服务器。我假设它是在 RHEL5 上运行的 Apache

首先,您必须检查 php 模块是否已安装并加载到 apache 中,并且配置正确。

您写道,apache 返回文件而不是执行它们。如果 apache 不知道如何处理特殊文件类型,这是 apache 的默认操作。在默认的 RHEL apache 配置中,php 从文件加载,/etc/httpd/conf.d/php.conf文件/etc/httpd/conf/httpd.conf包含行Include conf.d/*.conf,其中包括目录中的所有文件conf.d。这些行php.conf应该取消注释:

LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php

其次,您必须检查 SELinux 保护是否拒绝任何请求。如果 SELinux 拒绝访问来自 apache 的某些文件,您将403 Forbidden在浏览器中看到错误。/var/log/audit/audit.log您将看到一些avc: denied消息。您应该阅读man httpd_selinux手册页。目录中的文件/var/www/vhosts/default/httpsdocs应标有httpd_sys_content_t标签(您应该执行chcon -R -t httpd_sys_content_t)。要使此更改生效(重新标记文件系统),您还应该执行semanage fcontext -a -t httpd_sys_content_t /var/www/vhosts/default/httpsdocs(/.*)?

答案2

一种方法是添加一个指令来控制/配置该目录

相关内容