【问题标题】:Permission denied while trying to access localhost尝试访问 localhost 时权限被拒绝
【发布时间】:2018-02-27 18:31:08
【问题描述】:

在 Centos 7 机器上的 PHP 7.2 中,我正在尝试访问 Apache Jena Fuseki 3.6 SPARQL 端点。

Fuseki 在端口 3030 上运行,数据集的名称是 ds,我可以成功运行 curl http://localhost:3030/ds - 即使使用没有任何权限的用户登录该系统。 到目前为止一切似乎都很好。

但是,当我尝试在 PHP 脚本中执行 fopen("http://127.0.0.1:3030/ds","r");fopen("http://localhost:3030/ds","r"); 时,我总是以 PHP Warning: fopen(http://localhost:3030/ds): failed to open stream: Permission denied 结束。

不过,从 WWW 甚至从同一个 Apache 服务器(如 fopen("http://localhost/mytest.html","r");)获取文件也可以。

访问不同的本地主机端口是否需要任何特殊权限? firewalld 已停用,顺便说一句。

【问题讨论】:

  • 听起来您可能有一些冲突的 DNS 条目或其他东西。如果切换到 100% 基于 IP 的 fopen() 会发生什么?
  • 附加服务器日志或 php 代码的堆栈跟踪可能是个好主意
  • @MonkeyZeus 我得到了 localhost 和 127.0.0.1 的错误
  • 那么您是在与 SPARQL 端点相同的服务器上运行 PHP 脚本吗?
  • @georoot 我引用的警告来自 Apache 的日志。里面什么都没有。

标签: php localhost fuseki


【解决方案1】:

原来 SELinux 是问题的原因,它阻止了 Apache 在其他端口上进行出站连接。

请看这里:http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2013-03-13
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    相关资源
    最近更新 更多