带有不同驱动器的Windows上的PHP.ini include_path

时间:2016-09-16 19:22:54

标签: php include require ini

我尝试从计算机的不同位置包含PHP文件。所以我在php.ini中定义了不同的包含路径

include_path=".;C:\project\a;X:\project\b"

当我尝试在 C:\ project \ a \ file_a.php 上的PHP脚本中包含文件 X:\ project \ b \ file_b.php

require_once("file_b.php");

require_once("X:\project\b\file_b.php");

我收到错误

  

警告:require_once(X:\ project \ b \ file_b.php):无法打开流:第2行的C:\ project \ a \ file_a.php中没有此类文件或目录

     

致命错误:require_once():无法在C:\中打开所需的'X:\ project \ b \ file_b.php'(include_path ='。; C:\ project \ a; X:\ project \ b')第2行的project \ a \ file_a.php

     

致命错误期间的中止处理:require_once():无法打开所需的'X:\ project \ b \ file_b.php'(include_path ='。; C:\ project \ a; X:\ project \ b')脚本C:\ project \ a \ file_a.php第2行出错

我已经尝试过我能用知识做的一切,但没有任何作用。 我希望,有人可以解决这个问题。在Windows系统上的不同驱动器上包含路径是否有问题?

祝你好运, bition

2 个答案:

答案 0 :(得分:0)

经过很长一段时间,我终于找到了解决我特殊问题的答案。

非常特别,因为我使用BoxCryptor来加密我的D:驱动器。 BoxCryptor创建虚拟设备X:,但它不适用于Apache和PHP。但我可以将BoxCryptor配置为设备X:作为rwal硬盘。在我设置之后,每一件事都可以正常工作。

对于关于我的真实和真实硬盘的困惑感到抱歉,谢谢你的帮助!

祝你好运, bition

答案 1 :(得分:-1)

我在过去发现过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

?>