从包含的文件调用时,include()以静默方式失败

时间:2010-03-11 00:19:44

标签: php include include-path

我在远程服务器上包含文件时遇到问题(但在我的本地Windows PHP + Apache配置上,它工作正常......)。

当我尝试从包含的文件中包含文件时出现问题:

index.php的内容:

<?php

include("Dir1/File1.php");

?>

Dir1 / File1.php的内容:

<?php

include("File2.php");
include("File3.php");

echo("<p>File1 include done.</p>");

?>

Dir1 / File2.php的内容

<?php
echo("<p>File2 include done.</p>");
?>

Dir1 / File3.php的内容

<?php
echo("<p>File3 include done.</p>");
?>

File2.php和File3.php没有得到评估,但当我将File2.php更改为File99.php(一些不存在的文件)时,我得到标准警告,该文件不存在。

但是当我更改Dir1 / File1.php的内容以包含这样的文件时:

<?php

include("Dir1/File2.php");
include("Dir1/File3.php");

echo("<p>File1 include done.</p>");

?>

然后文件被评估......

3 个答案:

答案 0 :(得分:1)

听起来你没有“。”您的包含路径中的(当前文件夹)。您应该修改您的php.ini文件以添加它。您可以通过

找到实时和测试服务器上的值
<?php
phpinfo();
?>

答案 1 :(得分:0)

尝试使用完整路径包含:

include(dirname(__FILE__) . "/Dir1/File3.php");

答案 2 :(得分:0)

每次都适合我:

<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/path/to/File3.php'); ?>