tp5项目实践问题整理

问题1:致命错误: Class 'think\controller' not found

原因controller首字母要大写

解决:use think\Controller;

问题2:html页面验证码显示不出

原因:php.ini中gd2没有开启

解决:删除注释

收获:PHP 并不仅限于创建 HTML 输出, 它也可以创建和处理包括 GIF,PNG,JPEG,WBMP 以及 XPM 在内的多种格式的图像。

          更加方便的是,PHP 可以直接将图像数据流输出到浏览器。要想在 PHP 中使用图像处理功能,你需要连带 gd 库一起来编译 PHP。

问题3、数据表字段不存在:[update_time]

 

原因:在建数据表的时候觉得不需要update_time字段,便没有添加它。不知道tp5为什么一定要同时创建create_time和update_time(黑人问号脸.jpg)

解决: 给数据表添加上去:alter table think_content add update_time timestamp default null on update current_timestamp;

问题4、怎么在模板中引用公共文件

在Index/index/index.html中想要引入公共文件head.html、foot.html提示找不到文件

解决:在view下新建common文件夹,将公共文件放入。

{include file="common/head"}  //index.html文件中写入

 

 问题5、查询数据后导出成csv,最后有代码

原因:这些代码是页面的跟踪日志,会默认输出来的。

解决:在代码(方法)最后加上 exit; 就好了。

 问题6、未定义数组下标:0

原因:开发环境中会产成“未定义数组下标: 0”的错误提示。

解决:屏蔽提示。在 common.php 加入 error_reporting(E_ERROR | E_WARNING | E_PARSE);

问题7、Invalid argument supplied for foreach()

原因:因为fputcsv()需要传入数组参数,当find查询得出的$row不是数组时会报错。

解决:查询数据时用select()

问题8、下载第三方类库后放哪里

解决:放根目录下的extend文件夹。

使用:例,第三方类Ucpass放在extend/sms/lib文件夹下,index.php导入第三方类Ucpass时,先use sms\lib\Ucpass;然后再$foo = new  \sms\lib\Ucpass();

问题9、成员函数返回null

var_dump($ucpass);后

原因:因为我的Ucpass的实例化是在serverSid.php中

解决:将它include起来

问题10、当使用云之讯时,导入文件时出现Bom头问题

原因:他的Ucpass.php是notepad++编辑的,默认带上会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。

它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。

但对于PHP来说,并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。

解决:复制内容重新新建文件。

 问题11、Mysql的列超出范围值

原因:我的mobile字段一开始是int(11),后来输入手机号码就错了

解决:将mobile字段改成char(11)就ok

问题12、在一个方法中设置session值,在另一个同控制器的方法下无法获取

原因:暂时不知道

解决:

//在function1()设置,第一个参数为键,第二个为值,第三个为过期时间(秒)
Cache::set('param',$param,120);

//在function2()获取
$param    = Cache::get('param');

 

持续更新。。。。。。

 

posted @ 2019-04-11 12:57  江梦丽  阅读(589)  评论(0编辑  收藏  举报