当文件相对于根目录时,require_once不起作用,但在相对于当前位置时起作用



这有效:require_once '../../include/common.php'
但这不会:require_once '/include/common.php'
但这行得通:<a href = '/include/common.php'>

我收到此错误:
警告:require_once(/include/common.php(:无法打开流:C://C:\wamp64\www\src\views\search.php 中没有此类文件或目录

如果它作为链接工作,为什么它不适用于require_once?

感谢您的帮助:)

在require_once中使用相对路径通常被认为是导致容易出错的不良做法。

更好的解决方案是在 php.ini 文件中正确设置include_path。

或者你可以使用这样的东西:

require_once dirname(__FILE__) . "/../../yourscript.php";

希望对您有所帮助。

如果您在使用require_once时遇到问题,请始终使用绝对路径(文件系统(,如下所示:

require_once '/folder1/folder2/folder3/file.php'

在您的情况下require_once '/include/common.php'不是"相对于根"。它是不存在的绝对文件系统路径。

尝试在文件夹中print_r(__DIR__);是否要包含文件并查看文件系统的绝对路径。

以下<a href = '/include/common.php'>有效,因为它是相对于域名的。

阅读本文可能有助于您了解文件系统路径Web 服务器路径之间的差异。

require_once '/include/common.php'

<a href = '/include/common.php'>

他们没有指向同一个文件。在第一种情况下,您将在系统文件的根目录中包含common.php /include。在第二种情况下,您将在 VHost 的根目录下包含common.php /include

这就是为什么../../include/common.php/include/common.php不同

相关内容

  • 没有找到相关文章

最新更新