【问题标题】:PHP: Warning: include failed to open stream no such file or directory on Windows [duplicate]PHP:警告:包括未能在 Windows 上打开流没有这样的文件或目录 [重复]
【发布时间】:2012-01-21 11:07:45
【问题描述】:

我在 Windows 上的 xampp 上运行的 PHP 脚本中有一个 include 语句。如果我使用相对路径:

include '../config/eventInfoConfig.php';  

我收到错误消息:

警告:include(../config/eventInfoConfig.php) [function.include]:打开流失败:没有这样的文件或目录

但是如果我使用绝对路径我没有错误:

include 'c:/xampp/htdocs/xampp/appTrials/myApp/config/eventInfoConfig.php'; 

如何在我的包含中使用相对路径而不导致错误?

【问题讨论】:

  • var_dump(get_include_path()) 输出什么?
  • 字符串(42) ".;C:\xampp\htdocs\xampp;C:\xampp\php\PEAR;"但我想你已经回答了我的问题。我需要在我的 php.ini 文件的 include_path 参数中包含我的 apache htdocs 文件夹的路径。这样可行!非常感谢您的帮助!!
  • 出于完全相同的原因,我刚刚遇到了完全相同的错误。为什么它在使用 include_path 之前不尝试解析相对于脚本目录的路径?!
  • 经常会遇到此错误,要快速排除故障,请按照以下步骤操作:stackoverflow.com/a/36577021/2873507

标签: php include


【解决方案1】:

我会使其动态化,以便您也可以将此文件包含在其他文件中,并且仍然可以正常工作。

include_once(dirname(__FILE__).'/../config/eventInfoConfig.php');

【讨论】:

  • 我已经为这个常见错误开始了一个故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案2】:

修复include_path() 以包含正确的路径就可以了。

【讨论】:

  • 我已经为这个常见错误开始了一个故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案3】:

您可以将相对路径转换为绝对路径。 include 很棘手。我总是只保留一个包含绝对路径的全局常量BASE_PATH,并附加我需要包含的文件。

【讨论】:

  • include 不难,但是相对路径比较难。
  • 包含确实很棘手。我在这里开始了针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-04
  • 2014-01-04
  • 2016-07-24
相关资源
最近更新 更多