iis 上的魔术常量分隔符 php

Magic constants separator php on iis

我 运行 PHP 在 IIS 上,我在使用魔法常量时遇到问题

我希望使用一个框架(YII),它有很多以下内容:

require(__DIR__ . '\..\vendor\autoload.php');

问题是这个 returns:

G:\PleskVhosts\***.com\api\web/../vendor/autoload.php

这会导致明显的问题

所以我想知道是否有一种方法可以配置 PHP 以便魔术常量始终 return 和 / (据我了解 IIS/Windows 接受两者-斜杠和正斜杠)

我认为在文件路径中使用 / 或 \ 并不重要,Windows 通常两者都适用。虽然它不适用于单个反斜杠,但如果有意义的话,您需要在代码中使用双反斜杠来转义反斜杠。尝试 运行...

var_dump(file_exists(__DIR__ . '/../vendor/autoload.php'));

如果 returns 正确,那么应该没有问题。否则仔细检查文件路径是否正确。您也可以先使用 realpath/../ 翻译成完整路径。