用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2819|回复: 7
收起左侧

[已解决] ci 3.0 这个文件有疑问system/core/Loader.php

[复制链接]
发表于 2016-3-22 02:30:09 | 显示全部楼层 |阅读模式
本帖最后由 云端v 于 2016-3-22 02:32 编辑

我在 include 一个文件的时候发生一个错误 681@Y73]S5I%OY~CW][OI~D.png
注:这个文件是确实存在的。也不存在权限问题。

然后我去看了 system/core/Loader.php 这个文件的 969 行。
QQ截图20160322022120.png
有个疑问,为什么这里5.4以下的版本要eval,而且报错了?
我的php版本是5.3的,然后我在969行上面 file_get_contents($_ci_path); 也能取到数据。
所以问题就在那个eval 里面。
然后我试着把eval 这一行注释掉,直接写成 include($_ci_path);
QQ截图20160322022559.png
然后问题就解决了。不报错。

我知道这样不好,所以来问问大家有没有遇到类似的情况?该怎么解决?php版本是服务器的,升级比较麻烦,当初是yum 安装的,升级很多模块都不能用,要重新编译




发表于 2016-3-22 09:58:00 | 显示全部楼层
这个 eval 是用来解析 PHP 短标记的,你的视图应该写的有问题,视图里不要 include 而是要 load view
 楼主| 发表于 2016-3-22 11:40:35 | 显示全部楼层
Hex 发表于 2016-3-22 09:58
这个 eval 是用来解析 PHP 短标记的,你的视图应该写的有问题,视图里不要 include 而是要 load view ...

额,我这里确实需要include ,而且include 的这个文件里面就几个超链接,没有php标签,都是html 静态的。然后为什么不是5.4版本的就要解析短标签呢,新手求教
 楼主| 发表于 2016-3-22 11:50:34 | 显示全部楼层
Hex 发表于 2016-3-22 09:58
这个 eval 是用来解析 PHP 短标记的,你的视图应该写的有问题,视图里不要 include 而是要 load view ...

QQ截图20160322114909.png
这个是我在视图里面include 的文件。就这几行
发表于 2016-3-22 12:30:05 | 显示全部楼层
云端v 发表于 2016-3-22 11:50
这个是我在视图里面include 的文件。就这几行

视图里不要 include,你这个需求就是视图嵌套,直接在视图里 $this->load->view('nav');

另外,你可以在 PHP 5.4 里打开 PHP 短标记,推荐在视图里使用 PHP 短标记。
 楼主| 发表于 2016-3-22 17:23:10 | 显示全部楼层
Hex 发表于 2016-3-22 12:30
视图里不要 include,你这个需求就是视图嵌套,直接在视图里 $this->load->view('nav');

另外,你可以在 ...

额,我是想达到一个自由换皮肤的功能,所以界面想在view 里面决定
发表于 2016-3-22 23:01:56 | 显示全部楼层
云端v 发表于 2016-3-22 17:23
额,我是想达到一个自由换皮肤的功能,所以界面想在view 里面决定

不太清楚你的具体情况,不过从 CI 的角度来说,不推荐自己去 include 东西,因为这样就会导致很多奇怪的问题,因为 CI 都有自己的文件组织方式。
 楼主| 发表于 2016-3-23 14:11:26 | 显示全部楼层
Hex 发表于 2016-3-22 23:01
不太清楚你的具体情况,不过从 CI 的角度来说,不推荐自己去 include 东西,因为这样就会导致很多奇怪的 ...

嗯,好的,谢谢你哦

本版积分规则