PHP.ini include_path 在 windows 上使用不同的驱动器
PHP.ini include_path on windows with different drives
我尝试包含来自我计算机不同位置的 PHP 文件。所以我在 php.ini
中定义了不同的包含路径
include_path=".;C:\project\a;X:\project\b"
当我尝试从 C 上的 PHP 脚本中包含文件 X:\project\b\file_b.php 时:\project\a\file_a.php 和
require_once("file_b.php");
或与
require_once("X:\project\b\file_b.php");
我收到错误
Warning: require_once(X:\project\b\file_b.php): failed to open stream: No such file or directory in C:\project\a\file_a.php on line 2
Fatal error: require_once(): Failed opening required 'X:\project\b\file_b.php' (include_path='.;C:\project\a;X:\project\b') in C:\project\a\file_a.php on line 2
Abort Processing during Fatal-Error: require_once(): Failed opening required 'X:\project\b\file_b.php' (include_path='.;C:\project\a;X:\project\b') Error in Script C:\project\a\file_a.php on Line 2
我已经用我的知识尝试了所有我能做的事情,但没有任何效果。
我希望有人可以帮助我解决这个问题。 Windows 系统上不同驱动器上的包含路径是否存在问题?
此致,
咬合
我发现过去使用 WAMP 等时,使用反斜杠是可行的。只是不要用双引号 "C:\path" 封装字符串,这将按照@Marc B 警告处理内容。而是用单引号'C:\path'封装字符串然后不处理内容
如果单引号字符串内容中的反斜杠仍在处理中,请尝试以下操作。
<?php
$path = 'X:/project/b/file_b.php'; // PATH WITH FORWARD SLASHS
$path = str_replace(chr(47) ,chr(92) ,$path); // REPLACE FORWARD WITH BACKWARD SLASHS
require_once($path); // RUN FILE
?>
折腾了很久,我的特殊问题终于有了答案。
它真的很特别,因为我使用 BoxCryptor 来加密我的 D: 驱动器。 BoxCryptor 创建虚拟设备 X:,但它不存在于 Apache 和 PHP。但是我可以将 BoxCryptor 配置为将设备 X: 挂载为 rwal 硬盘驱动器。设置好后一切正常
对于我的虚拟硬盘和真实硬盘的混淆,我们深表歉意,感谢您的帮助!
此致,
咬合
我尝试包含来自我计算机不同位置的 PHP 文件。所以我在 php.ini
中定义了不同的包含路径include_path=".;C:\project\a;X:\project\b"
当我尝试从 C 上的 PHP 脚本中包含文件 X:\project\b\file_b.php 时:\project\a\file_a.php 和
require_once("file_b.php");
或与
require_once("X:\project\b\file_b.php");
我收到错误
Warning: require_once(X:\project\b\file_b.php): failed to open stream: No such file or directory in C:\project\a\file_a.php on line 2
Fatal error: require_once(): Failed opening required 'X:\project\b\file_b.php' (include_path='.;C:\project\a;X:\project\b') in C:\project\a\file_a.php on line 2
Abort Processing during Fatal-Error: require_once(): Failed opening required 'X:\project\b\file_b.php' (include_path='.;C:\project\a;X:\project\b') Error in Script C:\project\a\file_a.php on Line 2
我已经用我的知识尝试了所有我能做的事情,但没有任何效果。 我希望有人可以帮助我解决这个问题。 Windows 系统上不同驱动器上的包含路径是否存在问题?
此致, 咬合
我发现过去使用 WAMP 等时,使用反斜杠是可行的。只是不要用双引号 "C:\path" 封装字符串,这将按照@Marc B 警告处理内容。而是用单引号'C:\path'封装字符串然后不处理内容
如果单引号字符串内容中的反斜杠仍在处理中,请尝试以下操作。
<?php
$path = 'X:/project/b/file_b.php'; // PATH WITH FORWARD SLASHS
$path = str_replace(chr(47) ,chr(92) ,$path); // REPLACE FORWARD WITH BACKWARD SLASHS
require_once($path); // RUN FILE
?>
折腾了很久,我的特殊问题终于有了答案。
它真的很特别,因为我使用 BoxCryptor 来加密我的 D: 驱动器。 BoxCryptor 创建虚拟设备 X:,但它不存在于 Apache 和 PHP。但是我可以将 BoxCryptor 配置为将设备 X: 挂载为 rwal 硬盘驱动器。设置好后一切正常
对于我的虚拟硬盘和真实硬盘的混淆,我们深表歉意,感谢您的帮助!
此致, 咬合