【问题标题】:PHP set_inlude_path and include best practisesPHP set_inlude_path 并包含最佳实践
【发布时间】:2008-12-28 07:21:15
【问题描述】:

去哪里

set_include_path("../../");

指向?

我正在尝试在标准 XAMPP 服务器上运行一些 PHP 代码。并将我的东西放入 htdocs 文件夹中。包含指向相对路径,但它不起作用。是否有包含的最佳实践?代码必须在多个开发者的机器上运行。

【问题讨论】:

  • 查看这个相关的 SO question 关于包含路径策略的更多想法。

标签: php


【解决方案1】:

相对路径应该可以正常工作(警告:Windows 上的 apache,据我所知,不要遵循 simlink 或该操作系统上调用的任何内容)。

也许你应该使用语法(以避免不同的php版本出现问题)

ini_set('include_path', 'yourdir');

并测试返回值是否一切正常。

转向最佳做法: 对我来说,将配置指令设置到脚本中,尤其是在项目范围内是错误的,或者至少是危险的。

更好的做法是将指令放入包含 php 文件 项目的目录中的 .htaccess 文件中。

更好的是,它更快,将指令放入 apache 配置的适当虚拟主机部分。但是,对于开发而言,.htaccess 更灵活,因此更可取。

应该是这样的: php_value include_path ".:../..:"

这样做可以让您共享 php 配置,而无需在您编写的每个 php 文件中摆弄 ini_set 指令。

更不用说如果你有一个特殊的文件需要自定义的include_path,你可以在文件中设置它,这对每个人来说都是一目了然的。

【讨论】:

    【解决方案2】:

    运行文件(或包含该文件的文件)所在的两个目录。

    至于最佳实践,我只能给你两个建议。

    1. 使用相对路径。
    2. 如果相对路径给您带来麻烦,请将绝对路径用作单个静态变量,开发人员只需更改该变量即可。

    【讨论】:

      猜你喜欢
      • 2013-03-03
      • 1970-01-01
      • 2018-01-30
      • 2011-04-08
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 2020-09-17
      • 2013-12-23
      相关资源
      最近更新 更多