2011-10-26 79 views
8

我使用MediaWiki,但出现错误。我在文件中找到它。没有与此代码行:realpath返回空字符串

$IP = realpath('.'); 

但是$ IP返回一个空字符串,所以在系统的路径,文件无法正常工作。 (例如,如果$ IP将是.E:/path_to_wwwroot它工作)。我该如何解决这个问题。我的提供者是否有可能阻止访问realpath?

谢谢!

+0

你用'。/'得到了什么喜悦吗?不应该有所作为,但可能值得一试...... – DaveRandom

+0

否:-($ IP仍然是空的,但例如basename有效,但我不使用它,我想知道为什么会出现此错误。实际路径可能会有更多的错误:-( – Jordy

+1

和'realpath()'不适用于不存在的文件 – Thamaraiselvam

回答

14

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

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

所以你的web服务器也应该访问pre-webroot目录。

+2

啊谢谢,它需要在wwwroot中的所有目录读取权限?或者wwwroot之外的文件? – Jordy

+0

哇,它解决了问题!非常感谢。我需要更改从我的子域映射的读取权限。谢谢!!! – Jordy

+0

当我运行“便携式”PHP + NGINX应用程序WT-NMP时遇到了这个问题,我的沙盒的PHP应用程序引用了在我为php.ini中的open_basedir指定的路径之外的库。我通过将我的库路径添加到open_basedir(在Windows上使用“;”分隔符)来解决此问题 – ftexperts

0

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