技术饭 thinkphp5.1日志文件夹及文件权限问题
thinkphp5.1日志文件夹及文件权限问题,由于www用户和root用户(比如cmd的cli进程日志)都有可能对log文件夹或文件进行创建和读写。如果是先由www用户创建的log文件夹活文件,则不会出任何问题。但是如果是先由root用户创建的文件,然后再由www用户角色去读写就会出现异常报错。因为一般默认创建的log文件的权限是 -rw-r--r-,也就是www没有权限去写入root用户创建的log文件。
阅读全文 » 904天前2022年06月01日
技术饭 thinkphp5将json对象转数组
thinkphp5将json对象转数组,tp5获取得到的数据是json格式,但是无法通过数据的方式直接获取,以前是有默认转换,现在只能通过 getContent() 方法来获取内部的数据了。
阅读全文 » 1329天前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
阅读全文 » 1485天前2020年10月28日
技术饭 PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等
PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等,如果要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天介绍一款PDF库:TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。
阅读全文 » 1514天前2020年09月29日
技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败
最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。
阅读全文 » 1524天前2020年09月19日
技术饭 POST参数超过1000后,$_POST中1000以后的参数丢失,但是php5.6 max_input_vars 修改无反应?
之前做了图片文件上传到阿里云oss存储中,阿里本身的传输没有问题,但是在当保存到自己数据库的时候就报错了,第一次报错是id不存在,本来数据表就是一条记录,更新的主键ID竟然不存在,查了下js传过过来的formdata参数正常,但是$_POST就只仅仅取到了一部分数据,剩余的数据丢失了,想想应该是php限制的问题,最终确定是参数: max_input_vars 默认限制了1000,本来是改成了5000,但是测了还是没效果,查了phpinfo()发现:php-fpm重启之后 max_input_vars 的值并没有改变,多方查证发现服务器的php配置原来是外包公司配置的,外包公司把配置文件改到了 php-fpm.conf 文件里面,所以原始的php.ini中的参数就失效了,无论设置成什么都会失效。
阅读全文 » 1529天前2020年09月14日
技术饭 安装在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吧,希望尽快修复。
阅读全文 » 1701天前2020年03月26日
技术饭 php实现文字换行以及thinphp5.1水印自定义位置
最近要做图片生成图片水印与文字水印,但是遇到了一些小问题,tp5.1的图片类库只提供了9个位置,那图片水印如何自定义位置?文字水印,字数过多,水印超出了图片如何解决?
阅读全文 » 1708天前2020年03月19日
技术饭 thinkphp5.1控制器中的初始化方法initialize()不能return出数据
本来是要做登录验证与权限验证,正常是想在每个控制器的头部初始化方法initialize()直接return出数据,但是试了很多遍thinkphp5.1控制器中的初始化方法initialize()不能return出数据,翻了文档确实也是说不能输出,建议使用中间件的方式返回数据即可。
阅读全文 » 1716天前2020年03月11日
技术饭 AikehouA 5.2.0版本,最新版安装出现 HTTP ERROR 500 错误解决方案
今天在使用最新版AikehouA 5.2.0版本时,出现 HTTP ERROR 500 错误,调试了许久,查了nginx的错误日志等,断调试代码,一直没有找到确切的原因,后来在本地php7.0环境、自己服务器php7.0环境测试,安装没有任何问题,故此判断是因为最新版本composer加载了必须支持php7.0的插件,php5.6.x的环境不支持php7.0的一些方法,所以这里就需要删除一些composer包,更新vendor目录即可解决问题。
阅读全文 » 1721天前2020年03月06日
技术饭 thinkphp5.1的json数据写入、查询
正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。
阅读全文 » 1724天前2020年03月03日
技术饭 PhpSpreadsheet 导出图片到 Excel
之前使用的是PHPExcel来做PHP程序的数据导出,但是ThinkPHP5版本就改成了PhpSpreadsheet,文档因为是英文的所以看不太懂,今天解决的是PhpSpreadsheet 导出图片到 Excel。
阅读全文 » 1890天前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输出即可。
阅读全文 » 1891天前2019年09月18日
技术饭 爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线
爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线,爱客猴内容管理系统(AikehouAdmin5.2.0),基于国内流行的 ThinkPHP5.1 框架研发,UI插件采用简洁、直观、强悍的 AdminLTE3 前端开发框架以及国内口碑极佳的 Layui2.5.3,全新的设计理念,带来更舒爽的体验。
阅读全文 » 1995天前2019年06月06日
技术饭 thinkphp5.1图片处理类think-image的png图片透明度以及水印透明
thinkphp5.1图片处理类think-image的png图片透明度以及水印透明,每次更新都要修改图片类,不理解ThinkPHP官方为什么不更细解决这个问题,难道这不是个问题!
阅读全文 » 2014天前2019年05月18日
技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法
thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了
阅读全文 » 2158天前2018年12月25日
技术饭 tp5中url使用js变量传参方法
tp5中url方法使用的都是{}这个字符来解析,layui使用的是{{}}来解析,这就造成了无法把js变量传参到tp5的url()方法中,那只能去做替换,或者改成?好的形式了。
阅读全文 » 2197天前2018年11月17日
技术饭 thinkphp5分页抓取数据并入库
PHP可以通过curl抓取其他网站接口数据,抓取到的数据量有时候很多,这个时候如果进行入库的话会造成执行时间过长而停止报错500,解决方案有:1、php配置值max_execution_time修改大一些,还有就是nginx的执行时间也可以修改大一些,但这回造成网页一直卡着也很消耗服务器内存;2、进行分页抓取。
阅读全文 » 2235天前2018年10月09日
技术饭 PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法
PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法,php5.3.3以前php-fpm还没有被php收录,配置php基本都在php.ini里面,php5.3.3及以后,除了在php.ini配置以外,还可以在php-fpm.conf里面配置。
阅读全文 » 2259天前2018年09月15日
技术饭 wnmp下thinkphp5下解决不支持pathinfo模式解决方案
wnmp下thinkphp5下解决不支持pathinfo模式解决方案,这几天开发环境换成了最新版本的wnmp,导致了运行tp5时,pathinfo模式一直报错。报错的原因是开启pathinfo模式时index.php入口文件被解析成了一个参数,再三寻研究了好几遍最后才找到了答案。
阅读全文 » 2446天前2018年03月12日
技术饭 微信支付异步notify_url中$_GET、$_POST无法获取到数据解决方案
微信支付异步notify_url中$_GET、$_POST无法获取到数据解决方案,php5.3以及之前版本$GLOBALS['HTTP_RAW_POST_DATA'] 可以使用,但是在PHP5.3以后已废弃,也就是说$_GET、$_POST取不到数据
阅读全文 » 2453天前2018年03月05日
技术饭 nginx下运行php的程序时返回200访问却是空白页问题的解决方法
这几天一直在研究小程序,开发的差不多的时候吧环境从php5切换到了php7之后发现了很多的问题,比如传入参数没有默认值等造成的问题,但另一个棘手的问题就是:nginx下运行php的程序时返回200访问却是空白页,接口请求成功但是却一直无法返回数据,经过不断反复测试,代码断点测试,最后才发现了问题所在。
阅读全文 » 2453天前2018年03月05日
技术饭 简单配置nginx使之支持pathinfo,解决tp5一直跳转回首页
最近是遇到thinkphp5.0.8在nginx环境下不支持pathinfo只支持普通的兼容模式,输入正常的url地址就一直返回首页,测试之后发现是nginx没有配置好pathinfo模式,并且设置了rewrite,通过分析只需要修改3个地方就可以了,亲测成功,看代码有注解。
阅读全文 » 2558天前2017年11月20日
技术饭 从php5升级到php7之后,session不能传递的解决方案
从php5升级到php7之后,session不能传递的解决方案,刚刚把php升级到了php7.1.7,发现网站后台不能登录,一直提示验证码错误,可是明明GD库开启了,验证码也是显示的,经过测试发现是session为空了,折腾了大半天才知道php7的session默认设置是不传递的,有点坑啊。
阅读全文 » 2657天前2017年08月13日
技术饭 爱客猴内容管理系统核心框架ThinkPHP3.2.3升级到5.0的计划
爱客猴内容管理系统核心框架ThinkPHP3.2.3升级到5.0的计划,2016年8月多开始,thinkphp官方就推出了5.0的一个重大升级版本,但那时候的版本都是出于RC阶段,个人认为刚刚出来的版本一般是bug会比较多,还不够成熟,所以那个时候并没有考虑将爱客猴内容管理系统的核心框架升级到tp5.0。
阅读全文 » 2821天前2017年03月03日