CakePHP显示include_once警告

CakePHP显示include_once警告,php,cakephp,classloader,directory-structure,Php,Cakephp,Classloader,Directory Structure,突然,此网站停止工作,出现以下错误: 警告:include_once(///controllers/site/default.php)[function.include once]:打开流失败:在线54 警告:include_once()[function.include]:在/var/www/html/sitename.com/web/index.php第54行中打开“///controllers/site/default.php”(include_path=':/usr/share/pear

突然,此网站停止工作,出现以下错误:

警告:include_once(///controllers/site/default.php)[function.include once]:打开流失败:在线54

警告:include_once()[function.include]:在/var/www/html/sitename.com/web/index.php第54行中打开“///controllers/site/default.php”(include_path=':/usr/share/pear')进行包含失败

我不知道CakePHP是如何工作的,这就是为什么我需要帮助来弄清楚发生了什么(没有人弄乱代码)。指示的文件,即它们不在那里(没有这样的文件或目录),正是路径描述的位置

谢谢你的帮助

index.php中第54行的错误:

include_once sprintf('%s/%s%s/%s.php', ROOT_PROJECT, CONTROLLERS_DIR, $url->tipo, 'default');

我相信问题在于通过sprintf插入的变量

有一些空的字符串导致许多反斜杠被添加到字符串中

基本上它说

include('///controllers/site/default.php');
(这在生成的php警告中也可见)

尝试捕获空变量或分析结果字符串(确保每个参数之间只存在一个反斜杠)

如果我是对的,下一个php命令应该可以工作:

include('/controllers/site/default.php');

希望这有帮助。

产生问题的代码是什么?(index.php第54行)对不起,我忘了引用这个。刚刚编辑了de代码。
///controllers/site/default.php
路径错误。您的问题可能是因为
%s
es为空?这是什么CakePHP版本?是的,我认为这就是问题所在。。。但我还是不明白。当我键入www.sitename.com/web/index.php时,错误会发生变化。没有包含错误,但这个网站曾经是如何完美运行的,这很奇怪。服务器根目录也很奇怪,因为只有文件夹:web、tmp、日志和数据。Fyntasia,我到底应该怎么做?这实际上取决于代码的其余部分。我不知道代码的其余部分会发生什么,也不知道哪些变量来自何处。你可以试着用一个简单的(空($var))单独检查每个变量,并确保它不会生成额外的反斜杠。当我在正确路径的include中直接键入“controllers/site/default.php”时,它会显示一个空白页……我真的只能告诉你是什么导致了错误,有了它,球就在你的球场上修正它。对不起,我不能再帮你了。没关系,那真的很有帮助。谢谢你的关注!