在 httpd.conf 中更改 DocumentRoot 后,XAMPP 上的 PHPMyAdmin 和安全性不起作用
Posted
技术标签:
【中文标题】在 httpd.conf 中更改 DocumentRoot 后,XAMPP 上的 PHPMyAdmin 和安全性不起作用【英文标题】:PHPMyAdmin and Security on XAMPP not working after changing DocumentRoot in httpd.conf 【发布时间】:2013-04-17 18:14:28 【问题描述】:总结
在 XAMPP httpd.conf 中更改 DirectoryRoot 后,我无法运行 localhost/phpadmin 和 localhost/security。这就引出了两个问题。
如果我在 Windows 上使用 XAMPP,有没有办法在我在 httpd.conf 中设置的 localhost 目录之外运行 PHP 文件?
如果“否”,那么如何在本地机器上运行 phpmyadmin 或安全模块等文件,如果 phpmyadmin 文件位于 c:\xampp 目录但 httpd.conf 中的 DocumentRoot 路径指向到不同的目录?
更多详情如下。
背景信息
我的安装如下。
操作系统:Windows 7 XAMPP 版本:xampp-portable-lite-win32-1.8.1-VC9.7z
安装目录:c:\xampp-portable
代码文件保存在:d:\dropbox\websites_user1\...
然后我将 httpd.conf 修改如下:
Line 191: DocumentRoot "D:/Dropbox/websites_user1"
Line 222: <Directory "D:/Dropbox/websites_user1">
默认的 httpd-xampp.conf 配置没有改变 - 例如:
Line 99: Alias /phpmyadmin "/xampp-portable/phpMyAdmin/"
Line 100: <Directory "/xampp-portable/phpMyAdmin">
Line 121: <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
问题
如上更改httpd.conf中的目录根后,我可以从本地主机成功运行php文件 - 例如。 localhost/project01/demo.php.
但是,我现在无法从位于新 localhost 目录(即 d:/Dropbox/websites_user1/..)中的位置以外的任何位置运行 PHP 文件。这意味着我不能再在 c:\xampp\PHPMyAdmin 或 C:\xampp-portable\security\htdocs\security.php 等位置运行 PHP 文件。
另外,PHPMyAdmin 和 Security 的配置显然不再正确。例如,如果我输入“localhost/phpmyadmin”或“localhost/security”,我会收到“找不到页面”错误。
这导致了两组问题(如本问题开头所述)。
配置为 localhost 的目录是否是可以运行 PHP 文件的唯一位置?是否可以将 PHP 配置为从我的 C 或 D 驱动器上的任何位置运行?
如果没有,我该如何运行 PHPMyAdmin 或 security.php 中的文件或其他 xampp 目录中的任何无数文件?我是否需要将 phpmyadmin 文件夹复制并粘贴到 D:/Dropbox/websites_user1 的 localhost 文件夹中?或者进入它下面的每个单独的网站文件夹?如果是,我是否需要重新配置任何文件,例如 http-xampp.conf?
我对 PHP 和 XAMPP 比较陌生。一切都很完美,直到我遇到这个......现在如果我不能使用 PHPMyAdmin,我会完全卡住,甚至不能使用安全模块来设置我的密码。
非常感谢您的建议!!
【问题讨论】:
请访问此链接,它解决了我的问题。希望它能解决你的问题。 ***.com/questions/27970344/… 【参考方案1】:我相信您不能运行任何高于您的根目录的安全功能。想象一下某个远程人员知道您的 IP 地址并访问您文档根目录上方的所有文件。
【讨论】:
以上是关于在 httpd.conf 中更改 DocumentRoot 后,XAMPP 上的 PHPMyAdmin 和安全性不起作用的主要内容,如果未能解决你的问题,请参考以下文章
即使在应用程序部署之后,如何永久编辑httpd.conf以便在Apache 2.4中进行更改?
即使在应用程序部署之后,如何永久编辑 httpd.conf 以使 apache 2.4 中的更改发生?
如何更改在 DOCKER 容器内运行的 apache 的 httpd.conf 并重新启动 apache