扫描/ home / with opendir

是否可以使用opendir和scandir扫描/ home /目录。 当我尝试执行脚本说权限被拒绝我该怎么办?

<?PHP $dir = '/home/'; $dirs = scandir($dir); ?> <pre> <?PHP print_r($dirs); ?> </pre>

可以在Ant中修改Linux文件权限

msysgit:不设置隐藏标志的选项

如何使一个文件读写到一个程序,但只读/不访问Windows中的非pipe理员用户

Ubuntu Web服务器上的CodeIgniter的文件权限

c#wcf文件文件夹浏览器

你可以使用is_readable('/home/')来检查你是否有权限。 如果没有,你需要确保目录具有读权限,可能是0755 (rwxr-xr-x)

为了安全起见,PHP定义了一个'basedir',在这个下面你不被允许访问。 正如Aleks G所说,还有文件权限需要考虑。

这个问题谈到如何解决basedir限制: 我怎样才能放松PHP的open_basedir限制?

汤姆·海格的答案复制到这里:

您也可以使用Apache(假定这是您的Web服务器)配置文件(例如httpd.conf),以每个目录为基础轻松完成此操作。

<Directory /var/www/vhosts/domain.tld/httpdocs> PHP_admin_value open_basedir "/var/www/vhosts/domain.tld/httpdocs:/var/www/vhosts/domain.tld/zend" </Directory>

你也可以完全删除限制

<Directory /var/www/vhosts/domain.tld/httpdocs> PHP_admin_value open_basedir none </Directory>

我不是一个PHP程序员,但我认为你的问题是,当PHP尝试opendir时,它运行的是与apache拥有相同的用户ID,可能没有读取你的/ home目录的权限。

你可以通过修改/ home的权限,或者把apache的userid添加到拥有home的组所有权的组中。

可能这是你的Apache配置文件中的一个问题。 即使文件系统权限允许,你的httpd.conf文件也可能不允许访问/ home。 如果所有的HTML文件都在/ var / www中,通常情况就是这样。

httpd.conf可能被设置为允许从用户的主目录中提供文件在这种情况下,权限将被授予/ home中的目录,但不是/ home本身。

答案是在你的问题:这是一个权限问题。 很可能,运行Apache的进程没有权限读取/home目录(或者,如果在CLI中运行,则是您的usernamd)。 在终端中手动执行此操作:

ls -ld /home

并检查属性

相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...