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移动到了一个项目文件夹,这使得操作在客户端和服务器端都保持一致。
答案 0 :(得分:3)
您使用的是绝对路径,而不是相对路径。
答案 1 :(得分:0)
如果您使用的是包含路径,则必须从第一个目录或./
开始指定相对URL。顺便说一下,你应该在一个文件中用dirname(__FILE__)
来定义你的路径,这个文件在你的项目中的位置不会改变,或者通过查看服务器。否则,在另一台服务器上安装应用程序将会变得不必要地复杂化。