【问题标题】:php include virtual pathphp包含虚拟路径
【发布时间】:2010-12-10 23:53:00
【问题描述】:

在我的实时站点中,我有 php include() 和 require() 具有完整路径,例如: /www/mysite.com/webapps/mmh/head.php 或 /www/mysite.com/webapps/ROOT/zip/BoundaryWizard.php

现在,我想在我的 Windows 机器 (Xampp) 上进行一些本地开发,所以显然这些路径都不起作用。

有没有办法调整 apache 或 php 设置以将 /www/mysite.com/webapps/mmh/ 动态转换为 c:\xamp\mysite\some_other_arbitrary_folder ?

我认为最好的方法是首先使用相对路径,但这是遗留代码,可能需要一段时间才能修复...

【问题讨论】:

  • 不是一个答案,但将来考虑定义一个 ROOT_PATH 常量以避免此类问题。

标签: php apache path include


【解决方案1】:

这里的正确答案(对不起)是你应该修复它。有一个公用文件,您可以在其中声明用于指定路径的变量/常量。

来吧,这并不那么难。 sed 或任何半好的 IDE 将使更改一堆文件上的字符串成为一件容易的事。

【讨论】:

    【解决方案2】:

    您应该定义()您的应用程序路径,然后在文本编辑器中使用查找和替换,大多数编辑器都具有该功能。

    【讨论】:

    • 这意味着在开发环境中运行的代码不能未经修改地在生产或测试等环境中运行。更好地让您的代码在每个环境中工作,并使用单个配置文件来放置这些设置,以及数据库连接参数等内容。
    【解决方案3】:

    如果您不想更改代码,请创建这些目录。

    如果您不得不切换主机,您就有麻烦了,所以我建议您更改代码。

    【讨论】:

      【解决方案4】:

      我认为在这种情况下搜索/替换不会造成太大伤害,因为它并不困难。

      您可以做的另一件事是移动 DocumentRoot,使其位于 C:\www\mysite.com...

      【讨论】:

        【解决方案5】:

        也许不是最好的解决方案,但不是那么聪明的解决方案 你可以使用simlink(我不知道它在windows系统中是如何调用的,也许只是链接?)。

        【讨论】:

          猜你喜欢
          • 2013-10-18
          • 2015-01-04
          • 2011-02-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多