我有以下目录树结构:
/index.php
/code/inc/variables.php
/code/inc/config.php
index.php 是被调用的文件。
在我们的开发系统中:/code/inc/variables.php,当我有以下行时:
require_once("./code/inc/config.php");
它不起作用,当我有:
include_once('config.php');
它确实有效。
令人困惑的是,第一个在我们的开发系统上工作,第二个在我们的生产系统上工作。并且两个系统中的任何一个的树结构都没有区别(都运行 linux,可能版本不同)。
最佳答案
如果您在文件 DOCUMENT_ROOT/public_html/x.php 中调用 require_once:
require_once("./code/inc/config.php");
这就是它要搜索的文件
DOCUMENT_ROOT/public_html/code/inc/config.php
如果您调用相同的 require_once DOCUMENT_ROOT/public_html/code/inc/variables.php:
它将搜索文件:
DOCUMENT_ROOT/public_html/code/inc/code/inc/config.php
当然失败了。
你可以像这样使用请求:
require_once($_SERVER['DOCUMENT_ROOT'] . "/code/inc/config.php");
它将在您的所有文件中正常工作。
关于php - 在 Linux 系统上包含相对路径的文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734140/