CakePHP显示include_once警告

时间:2014-01-09 14:03:55

标签: php cakephp classloader directory-structure

突然,这个网站停止工作,出现了这个错误:

警告: include_once(/// controllers / site / default.php)[function.include-once]:无法打开流: / var /中没有此类文件或目录www / html / sitename.com / web / index.php 在线 54

警告: include_once()[function.include]:无法打开包含的'///controllers/site/default.php'(include_path ='。:/ usr / share / pear' ) /var/www/html/sitename.com/web/index.php 54

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

我感谢任何帮助!

index.php中第54行的错误:

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

1 个答案:

答案 0 :(得分:0)

我认为问题在于通过sprintf插入的变量。

有一些空的,会导致很多反斜杠被添加到字符串中;

基本上它说

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

(这在生成的php警告中也可见)

尝试捕获空变量或解析生成的字符串(确保每个参数之间只存在1个反斜杠)。

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

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

希望这有帮助。