PHP:如何在 open_basedir 中使用 PATH_SEPARATOR 指定目录名称?

PHP:如何在 open_basedir 中使用 PATH_SEPARATOR 指定目录名称?

在非 Windows 系统上 PHP路径分隔符常数是一个冒号...不幸的是,我必须处理一个正在运行的系统,它有很多现有的虚拟主机和目录,名​​称中带有冒号(它们包含标准 abcd:p 符号中的 ip 地址和端口)。

我们确实有一个新的命名方案,路径中没有冒号,但我无法在一夜之间切换现有的虚拟主机。是否有可能以某种方式转义冒号,或者以其他方式找到一种方法来在 PHP 中指定这些目录名称open_basedir

我想使用以下内容构建 Apache VirtualHost 配置:

  php_admin_value open_basedir "/w/1.2.3.4:80/www.acme.com/htdocs"

我们目前正在运行 PHP-5.3.15 作为 Apache-2.2.23 的一个模块

编辑:我确实尝试过用反斜杠转义冒号,但没有成功。

答案1

有一个错误报告:https://bugs.php.net/bug.php?id=53687

您是否尝试过逃避它,例如

php_admin_value open_basedir "/w/1.2.3.4\:80/www.acme.com/htdocs"

相关内容