【问题标题】:realpath returns empty stringrealpath 返回空字符串
【发布时间】:2011-12-15 22:20:24
【问题描述】:

我使用 MediaWiki,但出现错误。我在文件中找到了它。这段代码有一行:

$IP = realpath( '.' );

但是 $IP 返回一个空字符串,因此系统中文件的路径不起作用。 (例如,如果 $IP 是 .E:/path_to_wwwroot 它可以工作)。我该如何解决这个问题。我的提供商是否有可能阻止了对 realpath 的访问?

谢谢!

【问题讨论】:

  • 您对./ 感到高兴吗?不应该有所作为,但可能值得一试......
  • No:-( $IP 仍然为空。但是例如 basename 有效。但我不使用它,我想知道为什么会出现此错误。realpath 可能有更多错误: -(
  • 以及realpath() 不适用于不存在的文件。

标签: php mediawiki realpath


【解决方案1】:

来源:http://php.net/manual/en/function.realpath.php

注意:运行的脚本必须对层次结构中的所有目录都有可执行权限,否则realpath()会返回FALSE。

所以您的网络服务器也应该可以访问 pre-webroot 目录。

【讨论】:

  • 谢谢,它需要对 wwwroot 中所有目录的读取权限?还是 wwwroot 以外的文件?
  • 哇,它解决了问题!非常感谢。我需要更改子域映射的读取权限。谢谢!!!
  • 我在运行“便携式”PHP+NGINX 应用程序 WT-NMP 时遇到了这个问题,我的沙盒 PHP 应用程序引用了我在 php.ini 中为 open_basedir 指定的路径之外的库。我还通过将我的库路径添加到 open_basedir 来解决它(在 Windows 上使用“;”分隔符)。
  • 文件不存在的真实路径也返回空白
【解决方案2】:

我目前在从命令行运行 PHP 时遇到此结果,但不是在 HTTP 请求中。必须在某处进行配置或 $_SERVER 设置,如果我找到修复程序将更新。

【讨论】:

    【解决方案3】:

    我创建的路径不存在,请始终确保其格式正确。

    这是我使用的路径:

    realpath(MY_PATH . '../other_path');
    

    MY_PATH 没有尾随 /

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-04
      • 2020-01-27
      • 2020-07-11
      • 2015-05-25
      • 2011-05-09
      • 1970-01-01
      • 2012-07-20
      • 2020-11-23
      相关资源
      最近更新 更多