我遇到的问题让我很惊讶,以前从未见过真正不可能发生在我身上的事情。
我看到的是,当尝试访问特定文件时,php 正在组成一个完全不存在的随机文件路径。
$less_template = dirname(__FILE__).DIRECTORY_SEPARATOR.'less/template.less';
$css_template = dirname(__FILE__).DIRECTORY_SEPARATOR.'css/template.css';
$less_resp = dirname(__FILE__).DIRECTORY_SEPARATOR.'less/responsive.less';
$css_resp = dirname(__FILE__).DIRECTORY_SEPARATOR.'css/responsive.css';
这些是生成被调用文件路径的地方。
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect.
File(/home/rem/www/outpost/ashl/templates/default/less/template.less)
is not within the allowed path(s): (/var/www/vhosts/rehost.ca/httpdocs/rehost/:/tmp/) in
/var/www/vhosts/rehost.ca/httpdocs/rehost/a/ashl/ashl/templates/default/less/lessc.inc.php
on line 1741
现在考虑到这个错误(无论如何对我来说)大约是除以 0,我必须完全忽略一些东西。这以前有效,但现在不行。
为了提供更多信息,它寻找的文件路径来自移动之前。这并没有改变对我来说这是不可能的事实,尽管它被全局常量引用。
只是为了解释我对此的立场,我以前从未遇到过这种情况,也从未想过 PHP 可以做如此不合逻辑的事情,所以我什至不知道从哪里开始考虑修复它。导致错误的一切都是全局的。
如果我想得太多了,请纠正我,这简直让我很困惑。
笔记:
我试图禁用 open_basedir 没有效果(根据答案)。
我已禁用任何和所有类型的缓存。
在禁用以确保文件路径正确(它们是正确的)之前,我已经“检查”了各个缓存文件。