Windows和unix路径之间的区别

时间:2011-12-24 23:22:46

标签: php windows unix path

我的测试服务器是windows。 实时服务器是unix。

我使用的是相对路径,它们似乎在两者上都相同。 我改为绝对路径,似乎两者不同。

我的问题源于从子目录加载的文件。 在Windows服务器上我使用realpath(),这似乎给了我一个“根”来找到。但unix对待这个不同吗?

将unix绝对路径与windows匹配的常用方法是什么?

发现问题:原因是require()

似乎windows允许“多余的”'/'前缀,所以

require '/ajax/test.php'在Windows上有效,但在unix上无效。

3 个答案:

答案 0 :(得分:4)

我建议,考虑到您正在为live和dev工作不同的环境,您可以限制上传文件夹,并在Windows和Linux环境之间创建静态地图。

另外,如果你还没有看到这个,关于realpath的PHP.net文档非常清楚地描述了Linux和Windows之间的差异:

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

答案 1 :(得分:0)

我建议在配置文件中定义/静态变量,这些变量在任何地方加载。恕我直言,这是非常可靠的方法。

答案 2 :(得分:0)

发现问题:原因是require()。

似乎windows允许多余的'/'前缀,所以

要求'/ ajax / test.php'在Windows上被接受,但是unix会返回错误。