包含警告:无法在正确的路径中找到文件?

时间:2009-02-11 13:52:29

标签: php include warnings

Warning: include(/2008/2009/assets/inc/base/error.inc.php) [function.include]:
failed to open stream: No such file or directory in
C:\Program Files\Apache Group\Apache2\htdocs\2008\2009\assets\inc\base\header.inc.php on line 82

在WAMP设置中包含文件时,我收到上述错误。 Windows是否有可能将/ 2008 /解释为c:/ 2008而不是实际的http://localhost/2008

为了提供更多细节,我有一个常量定义为ROOT,我在我的网站上使用。 (在这种情况下,ROOT设置为/ 2008/2009 /)。我在路径之前使用ROOT进行图像,链接,css文件,包含/需要文件等.CSS和链接正在适当地扩展到localhost / 2008/2009,但是找不到包含文件。

非常感谢任何帮助。

PS php.ini包含路径定义为:

include_path = C:\Program Files\Apache Group\Apache2\htdocs"

更新

我使用URL重写将item / x更改为item-display.php?id = x,文件夹中的此更改是ROOT的基础。这使得显示给浏览器的任何东西(imgs,链接等)都可以完美地工作,但是内部任何东西都不起作用,因为item-display.php实际上是一个文件夹。我将item-display.php移动到了一个项目文件夹,这使得操作在客户端和服务器端都保持一致。

2 个答案:

答案 0 :(得分:3)

您使用的是绝对路径,而不是相对路径。

答案 1 :(得分:0)

如果您使用的是包含路径,则必须从第一个目录或./开始指定相对URL。顺便说一下,你应该在一个文件中用dirname(__FILE__)来定义你的路径,这个文件在你的项目中的位置不会改变,或者通过查看服务器。否则,在另一台服务器上安装应用程序将会变得不必要地复杂化。