这有效: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
不同