技术饭 thinkphp5.1日志文件夹及文件权限问题

thinkphp5.1日志文件夹及文件权限问题,由于www用户和root用户(比如cmd的cli进程日志)都有可能对log文件夹或文件进行创建和读写。如果是先由www用户创建的log文件夹活文件,则不会出任何问题。但是如果是先由root用户创建的文件,然后再由www用户角色去读写就会出现异常报错。因为一般默认创建的log文件的权限是 -rw-r--r-,也就是www没有权限去写入root用户创建的log文件。

阅读全文 » 906天前
2022年06月01日

技术饭 thinkphp5将json对象转数组

thinkphp5将json对象转数组,tp5获取得到的数据是json格式,但是无法通过数据的方式直接获取,以前是有默认转换,现在只能通过 getContent() 方法来获取内部的数据了。

阅读全文 » 1331天前
2021年04月02日

技术饭 TP5使用unlink删除文件报错:Resource temporarily unavailable

TP5使用unlink删除文件报错:Resource temporarily unavailable,今天在TP5内使用unlink删除上传图片的时候报错了。情况是 $info = $file->move();获得 $info 变量后 $info->getRealPath() 通过该方法获取上传文件真实路径,然后直接unlink时报错 Resource temporarily unavailable

阅读全文 » 1487天前
2020年10月28日

技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败

最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。

阅读全文 » 1526天前
2020年09月19日

技术饭 think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误

think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误,这几天做了抢红包的活动,请求高并发之后,程序出现了报错,数据无法写入数据库,查询调试发现报的错误是:unserialize(): Error at offset 284217 of 284296 bytes,后来是清除了缓存才解决了问题,可是问题是总不能一直清除缓存吧!!!

阅读全文 » 1561天前
2020年08月15日

技术饭 安装在thinkPHP5.1下报错了:Cannot use Workerman\Worker as Worker because the name is already in use

在做定时任务,执行php命令:php think AutoDelOrder 的时候处理下了:Cannot use Workerman\Worker as Worker because the name is already in use,查看文件位置,看到的是 Workerman\Worker 名字已经被使用了,所以需要改成其他名称,这个算官方的一个BUG吧,希望尽快修复。

阅读全文 » 1703天前
2020年03月26日

技术饭 thinkphp5.1控制器中的初始化方法initialize()不能return出数据

本来是要做登录验证与权限验证,正常是想在每个控制器的头部初始化方法initialize()直接return出数据,但是试了很多遍thinkphp5.1控制器中的初始化方法initialize()不能return出数据,翻了文档确实也是说不能输出,建议使用中间件的方式返回数据即可。

阅读全文 » 1718天前
2020年03月11日

技术饭 thinkphp5.1的json数据写入、查询

正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。

阅读全文 » 1726天前
2020年03月03日

技术饭 PHP数据采集框架QueryList,使用案例~~~

QueryList不依赖任何框架和架构,它可以单独使用也可以引入到任意的PHP开发框架中去使用,如:Laravel、ThinkPHP;你可以使用它来构建简单的采集系统,也可以用它才构建高可用的分布式采集系统。它提供了丰富的基于CSS选择器的页面抽取API,完全模块化的设计,拥有强大的可扩展性。

阅读全文 » 1736天前
2020年02月22日

技术饭 PhpSpreadsheet 导出图片到 Excel

之前使用的是PHPExcel来做PHP程序的数据导出,但是ThinkPHP5版本就改成了PhpSpreadsheet,文档因为是英文的所以看不太懂,今天解决的是PhpSpreadsheet 导出图片到 Excel。

阅读全文 » 1892天前
2019年09月19日

技术饭 thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE

thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE,有些服务器可以正常,网上的解释都是说确认php_zip,php_gd2,php_xml是否开启,经过测试都开启了却还是不行,最终看了先thinkphp5的输出方式是return,所以在 php://output 前面加个return输出即可。

阅读全文 » 1893天前
2019年09月18日

技术饭 爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线

爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线,爱客猴内容管理系统(AikehouAdmin5.2.0),基于国内流行的 ThinkPHP5.1 框架研发,UI插件采用简洁、直观、强悍的 AdminLTE3 前端开发框架以及国内口碑极佳的 Layui2.5.3,全新的设计理念,带来更舒爽的体验。

阅读全文 » 1997天前
2019年06月06日

技术饭 thinkphp5.1图片处理类think-image的png图片透明度以及水印透明

thinkphp5.1图片处理类think-image的png图片透明度以及水印透明,每次更新都要修改图片类,不理解ThinkPHP官方为什么不更细解决这个问题,难道这不是个问题!

阅读全文 » 2016天前
2019年05月18日

技术饭 爱客猴内容管理系统v3.2.3版本开放下载

从今天开始,爱客猴内容管理系统3.2.3将开放下载,希望爱客猴源程序对大家有所帮助,源码开放之后3.2.3版本不再进行更新、不再提供技术上的支持,感谢支持。5.2.0版本由于开发进度问题暂时外对外开发,请谅解!

阅读全文 » 2041天前
2019年04月23日

技术饭 ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题

ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题,在已经建好的数据表结构中新增或修改字段后,在TP框架中执行增加、修改操作时出现过滤掉该字段,而打印的插入或更新数据会显示该字段,打印执行的sql语句不会出现该字段,这时把TP框架中的runtime文件夹删掉即可,原因是runtime文件夹中有数据库的缓存会自动过滤掉该字段

阅读全文 » 2082天前
2019年03月13日

技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法

thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了

阅读全文 » 2159天前
2018年12月25日

技术饭 tp5中url使用js变量传参方法

tp5中url方法使用的都是{}这个字符来解析,layui使用的是{{}}来解析,这就造成了无法把js变量传参到tp5的url()方法中,那只能去做替换,或者改成?好的形式了。

阅读全文 » 2198天前
2018年11月17日

技术饭 thinkphp5分页抓取数据并入库

PHP可以通过curl抓取其他网站接口数据,抓取到的数据量有时候很多,这个时候如果进行入库的话会造成执行时间过长而停止报错500,解决方案有:1、php配置值max_execution_time修改大一些,还有就是nginx的执行时间也可以修改大一些,但这回造成网页一直卡着也很消耗服务器内存;2、进行分页抓取。

阅读全文 » 2237天前
2018年10月09日

技术饭 wnmp下thinkphp5下解决不支持pathinfo模式解决方案

wnmp下thinkphp5下解决不支持pathinfo模式解决方案,这几天开发环境换成了最新版本的wnmp,导致了运行tp5时,pathinfo模式一直报错。报错的原因是开启pathinfo模式时index.php入口文件被解析成了一个参数,再三寻研究了好几遍最后才找到了答案。

阅读全文 » 2447天前
2018年03月12日

技术饭 简单配置nginx使之支持pathinfo,解决tp5一直跳转回首页

最近是遇到thinkphp5.0.8在nginx环境下不支持pathinfo只支持普通的兼容模式,输入正常的url地址就一直返回首页,测试之后发现是nginx没有配置好pathinfo模式,并且设置了rewrite,通过分析只需要修改3个地方就可以了,亲测成功,看代码有注解。

阅读全文 » 2560天前
2017年11月20日

技术饭 针对爱客猴echoCMS存在远程代码执行漏洞解决方案

最近阿里针对tp3.2.3框架进行了检查,并发公告称tp3.2.3的文件缓存机制很容易被破解,如果使用了文件缓存未设置 DATA_CACHE_KEY 会造成任意代码执行,这个会对整个服务器以及数据造成很大的困扰,tp官方也第一时间辟谣称框架本身没有问题,只是需要设置 DATA_CACHE_KEY 这个值让攻击者不容易猜到即可。

阅读全文 » 2613天前
2017年09月27日

技术饭 ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction

ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction,刚开始以为是数据表引擎不对造成的,因为 有几张表的引擎是 MyISAM,后来调整过来了,改为 InnoDB,还是报错。应该是TP 底层连数据库时,切换数据库连接时出了点问题。

阅读全文 » 2742天前
2017年05月22日

技术饭 thinkphp如何获取安卓或IOS发送过来的请求头数据

thinkphp如何获取安卓或IOS发送过来的请求头数据,刚开始一直使用I('server.time')来获取请求头,但测试了大半天还是不行,最终百度搜索了许久最终才有了答案,原来是:php中想要得到所有的HTTP请求头,可以使用$_SERVER里获取到有我们想要的东西,它里面键名以HTTP_开头的就是HTTP请求头。

阅读全文 » 2753天前
2017年05月10日

技术饭 thinkphp开发api接口安全验证解析

thinkphp开发api接口安全验证解析,对于php后端很多时候要开发接口提供给安卓或者IOS使用,那这时候接口的安全验证机制就是一个必要的限制机制了,不然的话,其他人可以随便调用你的接口,这个会造成不可预料的后果。

阅读全文 » 2754天前
2017年05月10日

技术饭 爱客猴内容管理系统核心框架ThinkPHP3.2.3升级到5.0的计划

爱客猴内容管理系统核心框架ThinkPHP3.2.3升级到5.0的计划,2016年8月多开始,thinkphp官方就推出了5.0的一个重大升级版本,但那时候的版本都是出于RC阶段,个人认为刚刚出来的版本一般是bug会比较多,还不够成熟,所以那个时候并没有考虑将爱客猴内容管理系统的核心框架升级到tp5.0。

阅读全文 » 2822天前
2017年03月03日

技术饭 基于hplus模板的财经直播间,投资喊单直播室,喊单直播室

基于hplus模板的财经直播间,投资喊单直播室,喊单直播室,财经直播间,投资喊单直播室,喊单直播室 - 基于hplus模板,直播室的后台ui采用的是hplus模板,在此感谢hplus作者,后台整体版面有经过改版,后台框架用的thinkphp3.2.3,功能基本是继承了爱客猴内容管理系统的基本功能风格,另外多加了一些直播室相应的功能!

阅读全文 » 2838天前
2017年02月14日

吃瓜群众 爱客猴内容管理系统 v3.2.3 版本

爱客猴内容管理系统 v3.2.3 版本,基于国内流行的ThinkPHP3.2.3框架研发,UI插件采用简洁、直观、强悍的Bootstrap3.3.5前端开发框架以及口碑极佳的web弹层组件Layer v2.4,全新的设计理念,带来更舒爽的体验。系统采用多站点切换的设计方案,巧妙地解决了一站一后台的传统弊端,不仅方便站点的管理,也节省更多的研发时间,在新版本的系统中还集成了微信公众号、Ucenter用户中心等一系列常用功能!

阅读全文 » 2875天前
2017年01月09日

技术饭 ThinkPHP抽奖案例

ThinkPHP抽奖案例,之前做过微信的抽奖功能,本来也是不太懂,后来百度了一下,就整理了一下中奖概率算法,现在分享出来给大家用啦!代码相对比较简单,一看就能明白,可以自己拿回去测试一下再放到正式项目中去使用!

阅读全文 » 2882天前
2017年01月01日