【问题标题】:How to enable php to read home directory from apache webroot script如何使 php 从 apache webroot 脚本中读取主目录
【发布时间】:2015-11-30 12:00:03
【问题描述】:

这就是我在脚本中所做的,试图读取 web 根目录之外的文件和目录

// on line number 17
echo file_get_contents("/home/admin_cs/Documents/ssh_logs/info_04102015.txt");   

// on line number 34
$file = scandir("/home/admin_cs/Documents/ssh_logs/");  

我收到的错误

[2015 年 9 月 4 日星期五 16:10:00] [错误] [客户端 x.x.x.x] PHP 警告: 文件获取内容(/home/admin_cs/Documents/ssh_logs/info_04102015.txt): 无法打开流:中没有这样的文件或目录 /var/www/html/virtual/Development/Admin/demo_jquery.php 在第 17 行

[2015 年 9 月 4 日星期五 16:10:00] [错误] [客户端 x.x.x.x] PHP 警告: scandir(/home/admin_cs/Documents/ssh_logs):无法打开目录: 权限被拒绝 /var/www/html/virtual/Development/Admin/demo_jquery.php 在第 34 行

我的尝试

[root@localhost admin_cs]# sestatus 
SELinux status:                 disabled

[root@localhost admin_cs]# chown -R apache.apache /home/admin_cs/Documents/ssh_logs/
[root@localhost admin_cs]# chown -R apache.apache /home/admin_cs/Documents/ssh_logs/*
[root@localhost admin_cs]# chmod o+x /home/admin_cs/Documents/ssh_logs/
[root@localhost admin_cs]# chmod o+x apache.apache /home/admin_cs/Documents/ssh_logs/*

不幸的是,没有任何工作,有人帮我修复,我在这个论坛上搜索并阅读了很多帖子,但没有一个解决我的问题,我还有什么遗漏吗?请帮帮我。

【问题讨论】:

  • 你检查文件的权限是否可以访问
  • 你的操作系统是什么? Apache 用户取决于所使用的操作系统。例如对于 ubuntu 是带有组 www-data 而不是 apache 的 www-data!
  • 您还应该检查apache用户在路径中的每个目录上是否有r+x标志,否则它将永远无法访问
  • cenots 6.4 我正在使用

标签: php apache


【解决方案1】:

检查你的主机(或虚拟主机)是如何在 apache conf 文件中配置的,应该有一个名为 php_admin_value open_basedir 的选项和很多到目录的路由。 将路由添加到您尝试读取的目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 2011-01-11
    • 2014-09-04
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    相关资源
    最近更新 更多