require_once适用于Windows但不适用于Linux

时间:2011-01-27 14:00:00

标签: php windows linux

在我的Windows XP系统上,require_once('/stuff.php');工作正常,但是在Linux服务器上它说文件找不到,直到我将其更改为require_once('stuff.php');是否有一些设置我可以更改以使其在linux上工作?

5 个答案:

答案 0 :(得分:3)

你可能想要:

require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'stuff.php');

dirname(__FILE__)将返回当前目录,然后附加操作系统特定的分隔符和文件名。

答案 1 :(得分:1)

在linux上使用/file会使其显示在根文件夹中(与C:\比较),请尝试使用./stuff.php

答案 2 :(得分:1)

“stuff.php”与执行include / require的文件在同一目录中吗?

如果是这样,那么require_once('stuff.php')应该适用于两个系统。否则,这里的其他答案可能会有更多的帮助。

供参考:http://www.php.net/manual/en/function.include.php

答案 3 :(得分:-1)

Antoher的想法是使用$ root变量,存储项目的根目录(“/”表示windows,“”表示linx)

答案 4 :(得分:-1)

使用PHP的DIRECTORY_SEPARATOR常量来表示斜杠。

喜欢

$path . DIRECTORY_SEPARATOR . 'file.php'