gpt4 book ai didi

PHP __FILE__ 在从 OSX 主机挂载的 Linux VM 文件中返回反斜杠

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:15 26 4
gpt4 key购买 nike

我从 OSX (Mavericks) 主机在 Fedora VM 中运行 LAMP。

VM挂载文件夹中的文件为/media/sf_www/application/Some/Name/Space/FileName.php

<?php 
namespace Some\Name\Space;

die(__FILE__);
?>

输出

/media/sf_www/application/Some\Name\Space\FileName.php

但是,我在 Linux 主机上的生产环境中运行相同的站点,并且相同的脚本输出带有正斜杠的所有内容。

假设我无法触及代码。

我可以在我的虚拟机上执行任何 php 配置来输出正斜杠吗?

为什么会发生这种情况? OSX 也应该使用正斜杠,即使它使用 VM 托管计算机的目录分隔符。

编辑:仅当通过 Kohana 加载文件时才会发生这种情况。如果我直接访问脚本(apache 或 CLI),输出是正确的(正斜杠)

最佳答案

这是一种相关问题:PHP directory separators, forcing forward slash; non-intrusive

它给出的答案是,不,您无需更改配置即可使其仅使用一种斜杠。

为什么会发生这种情况?我不知道,也许这是 Kohana 中的一个准 bug。也许部分是 PHP 的错误,因为将路径连接在一起的函数对于它接受哪种斜杠有点太不可知。

这有什么重要的理由吗?如果您必须有一种斜杠,您可以先对它执行 str_replace('\\', '/', __FILE__);

关于PHP __FILE__ 在从 OSX 主机挂载的 Linux VM 文件中返回反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25962937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com