所以我一直在开发Windows。今天我把我的文件移到了基于linux的webhost。我注意到:
require_once dirpath(__FILE__) . DIRECTORY_SEPARATOR . "foo.php"`
失败,找不到文件错误。
我可以看到该文件存在于预期的位置。
是否存在这种性质的已知问题?
编辑1:
我怀疑这可能是因为linux是一个区分大小写的环境。我将所有我的驼峰文件名转换为小写。我还有问题。不幸的是,我的主机不允许远程telnet访问。我只能使用cpanel。还有其他建议吗?
编辑2:
原来是文件名区分大小写的问题。打败了我为什么cpanel在正确的情况下展示它们,这导致了我的困惑。我不得不转换名称使用所有小写,然后上传到服务器,事情很好。当我试图改变文件名中的情况时,Git确实给了我很多问题,但那是另一天的故事。
答案 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
,你可能有不正确的文件权限。