require_once在linux主机上失败了吗?

时间:2011-12-06 20:59:05

标签: php

所以我一直在开发Windows。今天我把我的文件移到了基于linux的webhost。我注意到:

require_once dirpath(__FILE__) . DIRECTORY_SEPARATOR . "foo.php"` 

失败,找不到文件错误。

我可以看到该文件存在于预期的位置。

是否存在这种性质的已知问题?

编辑1:

我怀疑这可能是因为linux是一个区分大小写的环境。我将所有我的驼峰文件名转换为小写。我还有问题。不幸的是,我的主机不允许远程telnet访问。我只能使用cpanel。还有其他建议吗?

编辑2:

原来是文件名区分大小写的问题。打败了我为什么cpanel在正确的情况下展示它们,这导致了我的困惑。我不得不转换名称使用所有小写,然后上传到服务器,事情很好。当我试图改变文件名中的情况时,Git确实给了我很多问题,但那是另一天的故事。

3 个答案:

答案 0 :(得分:4)

如果您从Windows迁移到Linux,则文件系统中存在一个问题:

Linux是典型的情况!

这意味着:Windows上的“foo.php”和“Foo.php”完全是同一个文件,但在Linux上它们不是。 如果你有“Foo.php”你不会通过搜索“foo.php”找到它。

答案 1 :(得分:1)

回应你的dirpath(__FILE__) . DIRECTORY_SEPARATOR . "foo.php"
所以你100%肯定它是正确的目录。我愿意打赌它不是......

否则这是一个必须仔细检查的权限问题。

答案 2 :(得分:0)

你可以{foo.php目录ls -al,你可能有不正确的文件权限。