【问题标题】:Force PHP to not include/require certain files强制 PHP 不包含/需要某些文件
【发布时间】:2013-10-23 15:35:45
【问题描述】:

有没有办法强制 PHP 不包含/要求(_once)某些文件?

我正在使用在组服务器上运行的大型 PHP 项目的本地测试克隆进行开发。为了加快这个克隆,我想阻止 PHP 加载某些我在本地测试克隆中不需要但我们在服务器上确实需要的“附加”文件。

那么有什么方法可以阻止 PHP 加载这些文件吗?

【问题讨论】:

  • 是的,把它们注释掉...
  • @DanielMorgan 是的,从数百个文件中注释掉行。来吧。
  • @ElonThan,这肯定是最有意义的吗?他将花费多少时间搜索/等待答案,将它们注释掉会更快。
  • @DanielMorgan 所以寻找正确的方法来实现目标没有意义吗?
  • @ElonThan 考虑到当它在服务器上运行时必须包含它们,不,不是真的。

标签: php include require


【解决方案1】:

一个突然想到的解决方案,虽然很可怕,但如下:

  • 使用 set_include_path() 更改包含路径,使其在 '.' 之前的指定目录中查找条目(实际上是在您依赖的任何其他包含路径之前)。您自然只想为您的本地环境执行此操作(基于域名、IP 地址、环境变量等检查)。
  • (即时或以其他方式)创建那些您不想作为空白文件包含在内的文件

这些文件仍将被包括在内,但处理时间可以忽略不计,因为文件没有任何要解析的代码。

【讨论】:

  • 或更好,为大型项目设置它,其中并非所有内容都通过.htaccess(或.user.ini)中的单个php文件进行路由
  • 如果include()s 的路径是绝对设置的,这会起作用吗?
  • 很遗憾,没有。包含路径仅适用于相对路径。从理论上讲,如果不需要在开发平台上引用为绝对的文件,那么您可以在该平台上将它们空白,因为人们会认为它们不是您应用程序源代码树的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多