PHP 包含相对于 URL 路径而不是文件路径,如何更改它?

标签 php include-path

我有一个 PHP 文件/a/b/file.php ,其中包含以下行

require("../connect.php");

在connect.php中有一行

require("../config.inc.php");

这在我的本地服务器上一切正常。有一堆使用 connect.php 的文件,它们也都工作正常。

但是在托管站点/a/b/file.php 上抛出错误:

Fatal error: require() [function.require]: Failed opening required 
'../config.inc.php' (include_path='.:/usr/local/php5/lib/php') in
/******/connect.php on line 3

我怀疑即使 connect.php 位于另一个文件夹中,它也会相对于/a/b 来查找它。是否有 php.ini 设置可以更改此设置?

最佳答案

你为什么不使用类似的东西:

require( dirname(__FILE__).DIRECTORY_SEPARATOR."..".DIRECTORY_SEPARATOR."connect.php");

这样您就可以避免在类 Unix 系统上开发应用程序并将其部署在 Windows 系统上时出现的问题,反之亦然。

关于PHP 包含相对于 URL 路径而不是文件路径,如何更改它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4540406/

相关文章:

c++ - C++ [Codeblocks/Visual Studio] 中没有这样的目录或文件

c++ - 库包含具有相同标题名称的路径

php - Sphinx 部分单词搜索,版本 2.2.4

php - 自定义 sql 导出导致导入时出现重复键错误

PHP 的 include_path - 将其设置为空字符串不起作用

c++ - 如何在全局范围内添加包含路径到 clang

php - 需要帮助解决 Elasticsearch 中的 fatal error 异常

php - 我是在重新发明轮子吗? PHP/Mysql用户注册及支付处理

php - 如何避免在每个查询中都使用 $conn?

python-3.x - 为什么 python2 和 python3 中的 include 路径不同?