通用包含路径分隔符

时间:2020-04-28 16:01:04

标签: php .htaccess xampp host include-path

我正在本地主机(在Windows计算机上)和Linux服务器上使用一个项目,这不允许我访问 php.ini

我必须在.htaccess中添加两个include_path,以使脚本读取本地主机文件和主机文件。

所以我必须添加两个包含路径:

C:/Xampp/path/to/root  --local
/home/path/to/root     --server

问题在于Windows上的多路径分隔符是分号,而在Linux上则是冒号,所以编写此代码:

php_value include_path "C:/Xampp/path/to/root;/home/path/to/root"

我在网站上遇到致命错误,并写了whis:

php_value include_path "C:/Xampp/path/to/root:/home/path/to/root"

我在本地主机上遇到致命错误。

是否有一种解决方法可以使它们都起作用?

我不能使用set_incude_pathini_set,因为我需要使用这些路径在每个脚本的顶部都包含一个文件,而我不能使用auto_prepend_file,因为我的主机已禁用它。

1 个答案:

答案 0 :(得分:1)

我找到了一种解决方法:

php_value include_path "first/linux/path/:;first/windows/path;:second/linux/path:;second/windows/path

php_value include_path "first/linux/path:second/linux/path:;first/windows/path/1;second/windows/path"

所以在我的示例中:

php_value include_path "C:/Xampp/path/to/root;:/home/path/to/root"

说明:

Linux服务器读取两个路径:C:/Xampp/path/to/root;/home/path/to/root

所以第一个是无效的,但是没关系,因为在Linux服务器上,我只需要第二个。


Windows计算机读取两个路径:C:/Xampp/path/to/root:/home/path/to/root

第二个无效,但这没关系,因为在Windows计算机上,我只需要第二个。


如果我需要一个在两个系统上都可以使用的路径,仍然会出现问题,但这不是我的情况。

无论如何,我将保留此问题以获取更具体且始终有效的答案。

相关问题