【问题标题】:PHP set_include_path configurationPHP set_include_path 配置
【发布时间】:2011-12-12 12:03:05
【问题描述】:

我遇到了 set_include_path 的问题,我阅读了很多关于该问题的消息,但没有一个对我有用。 我在 Debian 上,我的根目录将设置为 /home/project/

所以我尝试了这 4 种不同的方法:

ini_set("include_path", '/home/project');
ini_set("include_path", '.:/home/project');
set_include_path('.:/home/project');
set_include_path('/home/project');
set_include_path(get_include_path().PATH_SEPARATOR.'/home/project');

但是没有一个有效...当我做 echo get_include_path();每次看起来都不错。

但第 4 种方法在我的计算机上与 WAMP 完美配合。

所有这些错误消息:

Warning: include(/config/config.php) [function.include]: failed to open stream: No such file or directory in /home/project/web/www.project.com/index.php on line 3

Warning: include() [function.include]: Failed opening '/config/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear:/home/project') in /home/project/web/www.project.com/index.php on line 3

【问题讨论】:

    标签: php linux debian


    【解决方案1】:

    尝试使用文档中的PATH_SEPARATOR 常量。

    set_include_path(get_include_path() . PATH_SEPARATOR . $path);
    

    可能在您将应用程序部署到的系统上有所不同..

    更新: 包含路径似乎很好,但问题有所不同..

    你不应该包括:

    require '/config/config.php'
    

    但是

    require 'config/config.php'
    

    所以去掉前面的斜线,它应该可以工作。

    【讨论】:

    • 你能发布你在尝试包含文件时遇到的错误吗?它通常也会打印出使用的包含路径。变了吗?
    • 对不起,我需要离开工作,这可行,但如果我在同一个文件夹中包含一个文件会发生什么?
    • 它总是取包含路径中的第一个。
    • 啊,我刚刚学到了一些我不知道的东西......它从左到右测试 get_include_path() 中的所有路径。很好,对我来说没问题 :-) 谢谢
    【解决方案2】:

    使用此设置:set_include_path(get_include_path().PATH_SEPARATOR.'/path/');,此不删除现有的 include_path,由其他脚本设置,并添加默认系统路径分隔符。

    【讨论】:

      【解决方案3】:

      路径分隔符可能不同。

      set_include_path(implode(PATH_SEPARATOR, array(
          '.',
          '/home/project',
          get_include_path()
      ));
      

      这样,您可以将当前包含路径附加到您自己添加的路径上,并为每个系统提供正确的路径分隔符。

      【讨论】:

        猜你喜欢
        • 2011-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多