技术饭 PHP的MongoDB\Driver\Manager实现对mongodb的操作
MongoDB是开发人员数据平台,提供必要的服务和工具,以快速、高性能和大规模地构建用户需求的分布式应用程序。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
阅读全文 » 540天前2023年06月01日
技术饭 WSL2使用PHP访问Windows 11上的MongoDB报错:Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: [connection refused calling hello on 'localhost:27017']
WSL2使用PHP访问Windows 11上的MongoDB报错:Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling hello on 'localhost:27017'],解决方法是:1、防火墙需要运行wsl2、2、mongodb配置文件设置bindIp=0.0.0.0、3、设置wsl中对应host访问
阅读全文 » 544天前2023年05月28日
技术饭 INSERT INTO SELECT FROM,从某个表复制到另外一个表语句的使用方法
INSERT INTO SELECT FROM,从某个表复制到另外一个表语句的使用方法,数据脚本迁移原本看起来比较麻烦,问了下大佬,大佬随便在我屏幕上打上:insert into from,说用这个就好了,然后再加上小度就找到解决方法了,感谢大佬,每天教会小弟一点知识。
阅读全文 » 913天前2022年05月24日
技术饭 Gitee代码评审,解决完冲突之后,会自动把目标分支合并到源分支
Gitee代码评审,解决完冲突之后,会自动把目标分支合并到源分支,开发项目,使用Gitee的代码评审,合并功能分支feature到dev上的时候,出现了Conflicts,在线解决冲突之后,点击解决合并,结果反向的把dev的分支合并到了feature功能分支,这个源分支多了dev分支的代码。
阅读全文 » 959天前2022年04月08日
技术饭 php函数getimagesize()函数获取腾讯云对象存储图片信息太慢解决办法
php函数getimagesize()函数获取腾讯云对象存储图片信息太慢,导致接口返回超过了5s,这个体验太不好了,按照正常逻辑:想获取图片信息,当然是用getimagesize()函数,对于getimagesize()函数而言本地服务器的文件读取相对是比较快的,但是远程的图片就太慢了,必须先现在到本地服务器,然后再获取,如果有的图片很大,那这个下载速度可想而知的慢。
阅读全文 » 1101天前2021年11月17日
技术饭 eval()’d code on line 1 的解决方法
eval()’d code on line 1 的解决方法,php的eval函数是用来把一段文字当作一段php的脚本来执行,这样做的好处是我们可以动态修改php执行的内容。原始是看了权限部分的eval方法,运行代码,提示 “eval()’d code on line 1”,根据提示来看是eval函数在执行的时候出错了。无论怎么执行单引号的一直不行,就很奇怪。后来改成双引号才得以解决。
阅读全文 » 1136天前2021年10月13日
技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题
解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。
阅读全文 » 1196天前2021年08月14日
技术饭 腾讯云负载均衡的使用配置
腾讯云负载均衡的使用配置,大数据大流量时代,服务器的压力越来越大,这时候负载均衡就成了流量分发的解决方案了,负载均衡(Cloud Load Balancer)是对多台 云服务器 进行流量分发的服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
阅读全文 » 1201天前2021年08月08日
技术饭 更改MySQL数据库的编码为utf8mb4,还是无法解决表情符号不能保存的问题
更改MySQL数据库的编码为utf8mb4,还是无法解决表情符号不能保存的问题,这几天在做公众号授权,每次写入用户昵称数据的时候一直报错,我就奇怪了,明明数据库、字符集都改成了utf8mb4,为什么还是写入不了数据呢,查看了测试机(mysql5.7.24)的my.cnf 文件没有配置设置编码却没有问题,而正式机(mysql5.7.32)做了字符集编码的配置却出现了异常,真实奇葩~~~
阅读全文 » 1427天前2020年12月26日
技术饭 php7.2微信公众平台消息安全模式的加密及解密
php7.2微信公众平台消息安全模式的加密及解密,php7.2发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利。但是从php7.0 升级到 php7.2 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展)。官方提供了相应的解决提示,却没有提供更详细的解决办法。于是就各种报错,当然了只能改方法了~~~
阅读全文 » 1427天前2020年12月26日
技术饭 mysql查询语句group by 后面 order by 失效
原始需求是要查询出通过手机号最新报名的数据并且需要对手机号进行分组,但是在查询过程中发现mysql查询语句group by 后面 order by 失效,无论怎么查询都是未查到需要的数据,单独查询数据排序没有问题,但是加入 GROUP BY 之后就不行了,后来的解决方案是:使用子查询的方式先查出排序好的数据,然后再将数据进行分组排序。
阅读全文 » 1436天前2020年12月17日
技术饭 阿里云OSS文件的上传与下载
这几天弄了下新项目的负载均衡之后,文件为了统一管理,就同时也采用了阿里云的OSS作为文件存储方式,文件统一的管理解决了负载均衡文件生成在服务器上找不到文件的尴尬,当然了,也可以自己做一台专门的服务器来存储文件,但是毕竟阿里云相对成熟,还稳定,所以有钱还是用第三方存储能解决大部分的问题。
阅读全文 » 1467天前2020年11月15日
技术饭 解决Unable to find the wrapper "https"的二种方法
这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。
阅读全文 » 1469天前2020年11月13日
技术饭 Group by 查询时的ONLY_FULL_GROUP_BY错误解决方案
mysql使用group_by的时候报错:Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cis.q1.query_date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。
阅读全文 » 1470天前2020年11月13日
技术饭 解决You have new mail in /var/spool/mail/root提示
问题:终端远程登陆后经常提示You have new mail in /var/spool/mail/root;这个提示是LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息发送的root的邮箱里,以供有需之时查看。 一般这种情况mail的内容就只是一些正常的系统信息或者是比较重要的错误报告。如果你安装了mutt的话直接用这个命令就可以查看mail的内容(用root登陆先),没有装的话用cat /var/spool/mail/root查看(用root登陆先)。
阅读全文 » 1472天前2020年11月11日
技术饭 nginx 502 bad gateway 解决 connect() failed (111: Connection refused) while connecting to upstream
nginx 502 bad gateway 解决 connect() failed (111: Connection refused) while connecting to upstream,新安装了centos8,配置了php7.2,还没怎么用,一直报错,烦都烦死。多方求证最后才知道是php的配置是:fastcgi_pass 127.0.0.1:9000; 但是php-fpm/www.conf里配置的监听listen不是这个,所以就报错了。
阅读全文 » 1473天前2020年11月10日
技术饭 /var/mail/root 定时任务crontab生成日志文件太大的处理方案,You have new mail in /var/spool/mail/root
之前讲过聊过 file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足这个问题,解决方法是删除 /var/mail/ 下的root日志日志文件,可是过不了多久又满了,所以只能从源头去禁止生成定时任务生成的日志才能彻底的解决问题。有时候处理的时候还会出现:You have new mail in /var/spool/mail/root的报错。
阅读全文 » 1505天前2020年10月09日
技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败
最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。
阅读全文 » 1525天前2020年09月19日
技术饭 微信第三方平台全网发布返回Api、普通文本信息失败解决方案
这几天在做微信开放平台的第三方平台对接工作,本来申请的时候就云里雾里的,测试了好几个号才正式的把一些配置弄好,等待程序开发完成之后需要配置授权测试的公众号进行全网发布,当提交发布时,提示等待5分钟后,报错的结果就是返回Api、普通文本信息失败,这时候看下文档才知道,全网发布是需要验证的。
阅读全文 » 1549天前2020年08月26日
技术饭 think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误
think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误,这几天做了抢红包的活动,请求高并发之后,程序出现了报错,数据无法写入数据库,查询调试发现报的错误是:unserialize(): Error at offset 284217 of 284296 bytes,后来是清除了缓存才解决了问题,可是问题是总不能一直清除缓存吧!!!
阅读全文 » 1560天前2020年08月15日
技术饭 ES6的promise的介绍
1.Promise:即异步通信编程的一种解决方案,它比传统回调式更加的强大;2.ES6 之前非常多层次嵌套的同步、异步,执行顺序混乱且不好维护;3. Promise 就很好的解决了这些问题,我们先了解一下它的语法:
阅读全文 » 1633天前2020年06月03日
技术饭 表单提交之后数组类型的数据第二次提交被覆盖,使用 Math.random() 解决
表单提交之后数组类型的数据第二次提交被覆盖,使用 Math.random() 解决,最近做表单提交,需要直接提交数组就是用表单的数组形式,servicetype[type][] 复数形式,但是表单在提交之后报错,返回里层的被加了key值,这个时候有的就被覆盖无法显示提交了。这时候需要,重新生成key值保证数组key的唯一性。
阅读全文 » 1654天前2020年05月13日
技术饭 转:PHP phpspreadsheet 导出大数据 csv excel
最近项目一直需要导出数据到Excel里,使用了phpspreadsheet导出Excel,但是数据量一大的话就卡住了,正常导出大概不到1w条吧,超过1w条NGINX可能就报502超时了,为了解决问题只能百度看看了。
阅读全文 » 1658天前2020年05月08日
技术饭 Git 使用中显示“Another git process seems to be running in this repository, e.g. an editor opened by 'git commit'. P”问题解决
fatal: Unable to create 'F:/wnmp/www/gittest/.git/index.lock': File exists.,Git提示存在index.lock被锁住,Another git process seems to be running in this repository, e.g. an editor opened by 'git commit'. Please make sure all processes are terminated then try again. If it still fails, a git process may have crashed in this repository earlier: remove the file manually to continue.
阅读全文 » 1674天前2020年04月23日
技术饭 svn客户端show log的历史记录只有版本号,不显示其他信息解决办法
今天加入新项目,在 Tortoise SVN Check out 完项目之后,发现右键 show log 不显示 Log Message 的具体信息,svn客户端show log的历史记录只有版本号,不显示其他信息解决办法。
阅读全文 » 1677天前2020年04月20日
技术饭 小程序一次性订阅消息与长期性订阅消息的区别
一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。
阅读全文 » 1697天前2020年03月31日
技术饭 php实现文字换行以及thinphp5.1水印自定义位置
最近要做图片生成图片水印与文字水印,但是遇到了一些小问题,tp5.1的图片类库只提供了9个位置,那图片水印如何自定义位置?文字水印,字数过多,水印超出了图片如何解决?
阅读全文 » 1709天前2020年03月19日
技术饭 小程序二维码生成错误码{"errcode":41030,"errmsg":"invalid page hint: [eU6RsA00464521]"}
小程序二维码生成错误码{"errcode":41030,"errmsg":"invalid page hint: [eU6RsA00464521]"},小程序码生成的时候报上述错误,我还在开发,这个page我传递的是null,结果报错,测试了很多遍还是没搞明白,最后翻翻文档才解决问题。
阅读全文 » 1715天前2020年03月13日
技术饭 使用postman传数组数据
postman是一款强大的本地接口调试工具,我们可以通过它清晰的看到我们数据请求携带的参数和具体数据返回结果,便于我们分析解决问题。在我们做api接口数据调试的时候,大部分是会用到postman的,一般请求数据的参数都是字符串,但是特殊情况下我们是需要传一个数组数据的,那么为了实现这种需求,究竟该怎么做呢?
阅读全文 » 1716天前2020年03月12日
技术饭 postman接口工具设置headers头部的参数不能加下划线
今天做登录接口测试,正常逻辑是登录之后返回一个token给前端,以后前端都是拿着这个token来获取信息数据,正要测试时发现postman接口工具设置headers头部的参数不能加下划线,使用:sponsor_token 参数一直获取不到数据,纳闷了大半天,后来修改成:sponsortoken 就解决问题了。
阅读全文 » 1718天前2020年03月10日
技术饭 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目录即可解决问题。
阅读全文 » 1722天前2020年03月06日
技术饭 css修改谷歌默认最小字体12px的方案
AikehouAdmin5.2.0版本后台的数据表单中,操作按钮的字体font-size属性设置成了10px,但是Google浏览器似乎不兼容,最小字体也就12px,几经折腾才弄清楚,原来是谷歌内核浏览器默认最小12px,其他浏览器却是支持10px,所以也只能做个兼容方案。解决方案是使用css的属性 -webkit-transform: scale(0.88); 来缩放解决这个问题。
阅读全文 » 1725天前2020年03月03日
技术饭 响应式html5网页,手机上下滑动卡顿的现象
响应式html5网页,手机上下滑动卡顿的现象,今天用手机打开自己博客发现网页滑动特别的卡,上下滑动不灵敏,还时不时提醒是否等待程序继续运行,头上一百个问号,调试之后发现是滚动条部分出现了问题,-webkit-overflow-scrolling: touch;overflow-scrolling: touch;这两css属性能解决问题。
阅读全文 » 1727天前2020年03月01日
技术饭 413错误,Allowed memory size of 100663296 bytes exhausted (tried to allocate 84494727 bytes),php.ini重启不生效
文件上传出现413错误,解决完413后报Allowed memory size of 100663296 bytes exhausted (tried to allocate 84494727 bytes)错误,修改php.ini之后重启php-fpm,php.ini配置还是原样不生效不生效
阅读全文 » 1868天前2019年10月12日
技术饭 PhpSpreadsheet 导出图片到 Excel
之前使用的是PHPExcel来做PHP程序的数据导出,但是ThinkPHP5版本就改成了PhpSpreadsheet,文档因为是英文的所以看不太懂,今天解决的是PhpSpreadsheet 导出图片到 Excel。
阅读全文 » 1891天前2019年09月19日
技术饭 微信小程序通过STS方式直接上传视频到阿里视频点播解决方案
微信小程序通过STS方式直接上传视频到阿里视频点播解决方案,这里必须批评下阿里云官方的文档写的实在是让人看不懂,是在太乱啦,阿里官方并没有提供微信小程序上传的SDK,然后这个小问题困扰了我两天的时间,下了好几次工单,然后自己一步一步摸索才解决的。
阅读全文 » 1906天前2019年09月04日
技术饭 Navicat连接Mysql报错:Client does not support authentication protocol requested by server;
上篇刚写了安装Mysql,想用Navicat去连接,然后就报错了,此处记录报错解决。Navicat连接MySQL Server8.0版本时出现Client does not support authentication protocol requested by server;解决如下:
阅读全文 » 1917天前2019年08月24日
技术饭 Linux 无法 ping通外网,Could not resolve host: api.weixin.qq.com; Unknown error
微信通信错误是不少微擎用户遇到的问题,之前菠菜哥曾经发过两篇关于该错误的解决办法,截止到目前位置加微信咨询解决的有100多人了,但发现很多朋友是linux服务器,今天重点说一下Linux服务器的该错误修复。
阅读全文 » 1947天前2019年07月25日
技术饭 json字符串格式化展示
json字符串格式化展示,解决方案:JSON.stringify()方法:就json对象转成json字符串,5:表示有5个空格缩进最多10个,但是发现打印的所有字符串还是连在一起,是因为html忽略了空格或者tab,使用<pre></pre>标签就好了。
阅读全文 » 2000天前2019年06月01日
技术饭 exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题
exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题,手机图片上传之后出现了反向问题,操作系统里的文件属性功能可能已经把图片给修正过了,那这时候就要把图片给旋转回来就需要用到php的exif_read_data方法。
阅读全文 » 2006天前2019年05月27日