如何设置PHP根目录?

如何设置PHP根目录?

我有一个使用 CentOS 和 DirectAdmin 的 Web 服务器。我发现php可以忽略虚拟主机DocumentRoot。例如以下代码:

<?php print_r(scandir('/')); ?>

结果列在服务器的根目录上。

这可能与以用户权限运行的 SuPHP 和 php 脚本有关(当然允许列出根目录)?如何避免它并为 php/目录设置路径?我希望/指向虚拟主机DocumentRoot,或者更好的是指向用户主文件夹。

答案1

您可以尝试 chroot 网络服务器,类似这样的操作可能会满足您的需要。

http://www.redhat.com/mirrors/LDP/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap29sec254.html

答案2

PHP 脚本默认不被 chroot,因此访问/是意料之中的。如果您想要这种行为,您需要专门配置 PHP 以 chroot 脚本。如何执行此操作取决于 Web 服务器以及您如何执行 PHP。

相关内容