2009-02-11 182 views
0
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 /)。我在图像,链接,css文件,包含/需要文件等的路径之前使用ROOT。CSS和链接正确缩放到localhost/2008/2009,但包含文件未找到。

任何帮助将不胜感激。

PS的php.ini具有包括路径定义为:

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

更新

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

回答

3

您正在使用绝对路径而不是相对路径。

+0

我以为绝对路径在包含中是可以接受的吗? – 2009-02-11 14:07:38

+0

他们被接受,但只是“固定值”。所以他们不使用包含路径解决,因为它们已经是绝对的了。 – Gumbo 2009-02-11 14:31:07

0

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

相关问题