require_once工作在Windows但不是Linux

问题描述:

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

+0

你应该使用正确的** **文件路径。 ``/ stuff.php``确实是不适当的。给自己一本关于计算机基础知识的书,并了解什么路径是 – 2011-01-27 14:37:18

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

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

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

在linux上使用/file将使它看起来在根文件夹(与C:\比较),请尝试使用./stuff.php

Antoher想法是使用$根变量,您存储项目的根目录( “/” 的窗口和 “” 为LINX)

你可能想:

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

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

使用PHP对斜线DIRECTORY_SEPARATOR不变。

$path . DIRECTORY_SEPARATOR . 'file.php'