【问题标题】:Include path ignored包含路径被忽略
【发布时间】:2014-05-07 15:11:34
【问题描述】:

我有以下代码(简化)来添加路径到我的包含路径(用旧代码临时修复网站)。

set_include_path(get_include_path() . PATH_SEPARATOR . '/foo/bar');

我有一个设置文件/foo/settings/settings.inc.php

现在,当我设置了包含路径并且我在文件/foo/bar/members.php 中时,我想包含设置文件。那么代码的作用是:

include '../settings/settings.inc.php'

我想它现在会得到那个文件。但事实并非如此。当我将完整路径放入包含中时,它确实有效。例如:/foo/settings/settings.inc.php 但有很多文件。而且我认为这将是一种解决方法,因此我不必手动替换每个文件。

【问题讨论】:

    标签: php include-path ini-set set-include-path


    【解决方案1】:

    我会说you can't do that:

    根据给定的文件路径包含文件,或者,如果没有 给定,指定的include_path。 [...]

    如果定义了路径 — 是否绝对(以驱动器号开头 或 \ 在 Windows 上,或 / 在 Unix/Linux 系统上)或相对于 当前目录(以 . 或 .. 开头)- include_path 将是 完全忽略

    【讨论】:

    • 所以只要有一些路径(例如../file.php/foo/file.php它完全忽略包含路径?如果我只给file.php,它只使用包含路径?嗯. 好吧,我能做的就是更改很多文件。
    • 我不知道您要完成什么,但是...为什么批量搜索和替换不可行?任何像样的编辑器都是两分钟的任务?
    • 我就是这样走的。
    • 无论你在做什么......我已经大量使用auto_prepend_file 指令来让非常丑陋的旧网站在现代服务器上运行。祝你好运:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 2018-10-05
    • 1970-01-01
    • 2022-10-23
    • 2019-10-19
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多