2014-03-29 37 views
0

我有一个config.php的问题,需要你的帮助。我有3个文件名为index1.php,caller.php和config.php。 index1.php位于根目录,其他位于根目录的子目录subdir中。找不到config.php的子目录

index1.php

<?php 
require_once("subdir/caller.php"); 
?> 

caller.php

<?php 
require_once("config.php"); 
?> 

的config.php

<?php 
echo "Hi from config.php"; 
?> 

当我尝试HTTP://localhost/index1.php浏览器显示什么(FireFox & IE)。如果我将caller.php中的代码更改为require_once(“subdir/config.php”),那么我可以看到文本。另一方面,如果我将config.php的名称更改为convit.php等其他名称,并将caller.php中的代码更新为require_once(“convit.php”),那么我也可以看到该文本。

你能向我解释为什么。我刚刚在Windows 8上安装了XAMPP,除了修复安全漏洞之外,没有在系统中配置任何内容。

亲切的问候, 升

+0

您发布的代码适合我。在Firefox和Chrome中呈现。 – Durandal

+0

感谢您的发布。我已经在Windows XP和Windows 8上尝试了这一点,并且遇到了同样的问题。 – Thang

回答

-1

这可能是XAMPP(XAMPP-win32-1.8.3的错误-3- VC11的安装程序)。我曾尝试使用WAMPSERVER(Wampserver2.4-x64)并没有任何问题。

0

你最好使用

<?php require_once(dirname(__FILE__)."config.php"); ?>

在caller.php

+0

谢谢。您的代码应该添加DIRECTORY_SEPARATOR以使其工作。但是它会和我上面发布的require_once(“subdir/config.php”)一样。只要提醒一下,caller.php和config.php位于同一个目录中。为什么需要将相对目录添加到文件路径以使其工作?为什么我只是将config.php的文件名更改为其他内容以获得预期结果? – Thang

+0

是的,你是对的 – iwcoder