尝试两次包含同一文件时收到 PHP 警告是正常的。
第一个 include_once 正确加载 PHP 文件。具有相同文件的第二个 include_once 显然给了我一个错误。
我的问题是为什么当文件明确存在时我会得到 a"Warning: include_once(../../config.php): failed to open stream: No such file or directory in ..."
和 a 。"Warning: include_once(): Failed opening ..."
我只是好奇为什么 PHP 不会告诉我“文件已包含”之类的东西,而是说文件不存在。
我的结构:我有一个使用 jQuery .load() 进行内部导航的页面。
初始页面加载如下:
<?php
include_once("header.php");
if ($sessid === $idn) include_once("components/activity_feed.php");
else { include_once("components/my_textbooks.php");}
include_once("footer.php");
?>
header.php 包含一个 include_once 到 ../config.php 用于服务器配置。
components/activity_feed.php 还包含一个 include_once 到 ../../config.php,因此当通过 .load() 请求 components/my_textbooks.php 时,会加载配置文件并在提供服务之前呈现页面。