PHP的“虚拟目录支持”是我认为的吗?


Is PHP's "Virtual Directory Support" what I think it is?

我在phpinfo()中看到该条目,如果它是我认为的那样,那就太好了!我们在IIS上,所以我非常熟悉虚拟目录,并且长期以来一直希望在PHP中使用该功能。是的,我已经用谷歌搜索过它,但我发现的只是关于如何启用它的问题,但没有任何地方 - 甚至在 php.net 上 - 我找不到该功能的描述。

那么,PHP"虚拟目录支持"是..?

使用源代码,卢克!

以下是 PHP 源代码的相关部分(来自 PHP 5.5,没有特别的原因):

  • 检查导致该行进入phpinfo输出VIRTUAL_DIR常量
  • 基于ZTS常量定义该常量
  • 根据名为 TSRM 的目录中的常量做出的决定

我相信"ZTS"代表"Zend Thread Safety",TSRM是线程安全资源管理器,记录在这里。

所以这里的"虚拟"似乎意味着Zend引擎将使用自己的目录访问函数实现(包括像cwd这样的有状态函数),而不是直接调用底层操作系统提供的本机函数,这可能不是线程安全的。

我不知道这是否是你希望听到的,但至少现在你知道:)