gpt4 book ai didi

apache子进程无法访问文件

转载 作者:行者123 更新时间:2023-12-04 19:39:28 25 4
gpt4 key购买 nike

我遇到了一个问题,即编写为作为 Web 服务访问的程序无法访问本地文件系统中的任何内容。从命令行运行程序可以正常运行,但在通过 apache 作为子进程调用时失败,通过 system() 执行来自 php 脚本;它根本找不到它应该处理的文件。我确信这是一个 apache 配置问题,因为程序在读取/var/www/html [网络服务器文档根目录] 及其下的任何/所有文件/目录时没有问题。
这里有一些细节:

  • 运行 apache 2.4.6 的虚拟 centos 7 服务器。
  • 程序以 apache
  • 用户身份运行
  • 它可以读取/[root dir] 并正确解释它 [i.e.它确实是/系统根目录,而不是/var/www/html]
  • 它根本无权访问/tmp,也无权访问/var/tmp
  • 一些外部文件通过网络安装在/mnt 上。该程序可以访问/mnt,但尝试读取/mnt/{anything} 失败 - 即使远程共享以 apache 的有效 uid/gid 挂载并且所有文件/目录都可以被世界读取。
  • selinux 当前被禁用
  • 为了踢球,我尝试设置 Require all granted里面 <Directory / ><Directory /tmp >httpd.conf ,但这并没有改变任何东西。

  • 有谁知道这可能是什么原因以及我该如何解决?
    谢谢。

    最佳答案

    您是否检查过 selinux 是否限制访问?
    您可以通过安装 selinux 故障排除查看 Selinux 是否导致问题
    yum install -y setroubleshoot
    sealert -a/var/log/audit/audit.log

    关于apache子进程无法访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71557760/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com