技术饭 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访问

阅读全文 » 305天前
2023年05月28日

技术饭 vscode1.60版本不支持:terminal.integrated.shell.windows

vscode1.60版本不支持:terminal.integrated.shell.windows,旧版VScode 的 git bash 终端配置如下:"terminal.integrated.shell.windows": "D:\\Program Files\\Git\\bin\\bash.exe",当VSCode升级至1.57.1(2021.6.17)时,会出现警告提示:此项已弃用,配置默认 shell 的新推荐方法是在 #terminal.integrated.profiles.windows# 中创建一个终端配置文件,并将其配置文件名称设置为 #terminal.integrated.defaultProfile.windows# 中的默认值。此操作当前将优先于新的配置文件设置,但将来会发生更改。

阅读全文 » 936天前
2021年09月04日

技术饭 解决两个跨域但是同站、同域、同源的域名(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的登录状态就消失了,直接退出登录。

阅读全文 » 958天前
2021年08月14日

技术饭 腾讯cos、阿里云oss存储文件跨域

腾讯cos、阿里云oss存储文件跨域,现在采用的文件存储方式基本上是阿里云oss、腾讯cos等一系列的存储来做文件存放,如果是新手肯定会碰到各种设置的问题,正常是在存储桶那边设置跨域访问CORS设置来源Origin,但是有时候并不生效,原因是存储如果管理了cdn需要在cdn那边也设置相应的响应头才行。

阅读全文 » 958天前
2021年08月13日

技术饭 layui的插件laydate的时间范围控制

layui的插件laydate的时间范围控制,laydate插件本身有很多的设置,但是有的可能需要自定义,这种情况就需要自行开发设置了,现有的需求是需要把时间范围限定在3个月内,而且可以通过选择今天、最近一周、最近一月、最近三月来设置时间。

阅读全文 » 959天前
2021年08月13日

技术饭 nginx设置目录转发

nginx设置目录转发,很多时候项目只有一个域名,但是项目又有很多的入口,比如后台、数据运营后台、前台等,这种处理方式要么是几个二级域名,要么就是同一个域名做不同目录下的分发,当然同一个域名相对简洁,没那么的复杂,只要做一个nginx目录转发即可。

阅读全文 » 963天前
2021年08月08日

技术饭 chart.js设置饼状图和甜甜圈图

chart.js设置饼状图和甜甜圈图,饼图和环形图表可能是最常用的图表。它们被分成不同的部分,每个部分的圆弧表示每个数据的比例值。该图表在展示数据之间的关系比例方面非常出色。饼图和环形图在 Chart.js 中实际上是同一个类,但有一个不同的默认值 - cutoutPercentage。意味着内部的百分比被减少。饼图默认为 0,甜甜圈默认为 50。该图表在Chart核心中注册了两个别名。除了不同的默认值和不同的别名,其他是完全一样的。

阅读全文 » 1030天前
2021年06月02日

技术饭 JAVA原生的类实现SHA256加密签名,转换成PHP版本加密

JAVA原生的类实现SHA256加密签名,转换成PHP版本加密签名,注意点主要在sort字典排序的时候需要设置方式为 SORT_STRING,如果sha 256加密函数的第三个参数设置为true时,这时候返回的是二进制数据,默认是false返回的则是进制的字符串。

阅读全文 » 1039天前
2021年05月24日

技术饭 更改MySQL数据库的编码为utf8mb4,还是无法解决表情符号不能保存的问题

更改MySQL数据库的编码为utf8mb4,还是无法解决表情符号不能保存的问题,这几天在做公众号授权,每次写入用户昵称数据的时候一直报错,我就奇怪了,明明数据库、字符集都改成了utf8mb4,为什么还是写入不了数据呢,查看了测试机(mysql5.7.24)的my.cnf 文件没有配置设置编码却没有问题,而正式机(mysql5.7.32)做了字符集编码的配置却出现了异常,真实奇葩~~~

阅读全文 » 1189天前
2020年12月26日

技术饭 ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored,今天打开阿里云centos的控制面板出现了这种情况,有点懵逼,就重启了下服务器,就一直报这种错误,然后定时任务还被设置成了0,定时任务改回来,15分钟左右又被篡改成了0,估摸着应该是被植入了病毒,想想这台服务器之前因为Redis没有设置密码就已经出现过定时任务文件被篡改的情况,当时还没在意。

阅读全文 » 1193天前
2020年12月22日

技术饭 阿里云oss上传文件设成了跨域头之后还是显示跨域问题

阿里云oss上传文件设成了跨域头之后还是显示跨域问题,今天碰到奇怪的问题是OSS文件上传只有,需要下载文件的时候,有些文件可以下载有些文件不能下载,奇怪了都是同样的上传接口为什么就跨域了,可是oss也已经设置了JavaScript跨域全部允许了,可还是有些文件跨域。

阅读全文 » 1228天前
2020年11月17日

技术饭 mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0

mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0,今天在将开发库(mysql版本号:5.7.24)的表结构和正式库(mysql版本号:8.0.19)表结构做比对的时候,发现大量表中字段不一致,初以为是切换到正式库时执行SQL报错了,后,手工修改表字段长度还是不行。

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

技术饭 MySQL 批量修改数据表编码及字符集

经常使用SQLyog导出导入数据库时,不懂为什么经常性出现编码错误字符集被设置成了默认,奇怪的很,可能是软件版本问题,当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改。以下备注批量修改方案( 以修改为 utf8mb4_general_ci为例,注意将 db_name 换为真实的数据库名 )。

阅读全文 » 1234天前
2020年11月10日

技术饭 nginx 访问 .php文件变成下载

Nginx 浏览.php文件变成下载:这是因为nginx没有设置好碰到php文件时,要传递到后方的php解释器。看看你的nginx.conf配置,里面有没有这样的设置:location ~ .*\.php$ { fastcgi_pass 127.0.0.1:9000;}

阅读全文 » 1235天前
2020年11月09日

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

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

阅读全文 » 1286天前
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中的参数就失效了,无论设置成什么都会失效。

阅读全文 » 1291天前
2020年09月14日

技术饭 百度地图API报{"status":240,"message":"APP 服务被禁用"},APP服务被禁用

使用百度地图API进行逆地理编码时发现将新建的服务端AK填入到URL中进行访问时返回{“status”:240,“message”:“APP 服务被禁用”};百度给出的结论是自己创建AK时的设置有问题,实际检查设置没有问题;后来发现是新的用户接口更改了了。

阅读全文 » 1319天前
2020年08月17日

技术饭 微信公众号新增付费功能,原创作者的福利呀~~~

最近微信公众号推出了付费功能,这是原创作者的一大福利呀,以后就可以在家赚钱了,开通了付费功能的公众号,运营者可以在编辑时对原创文章的部分或全部内容设置收费。对于付费图文,用户未付费前可免费阅读前言和试读部分;用户付费后方可阅读全文、留言。

阅读全文 » 1428天前
2020年04月30日

技术饭 Linux中svn提交添加注释设置

Linux中svn提交添加注释设置,当我们用tortoisesvn,提交代码时,有很多人不喜欢写注释的,代码版本多了,根本搞不清,哪个版本改了什么东西?所以如果加一些注释的话,我们看起来,也方便很多。所以在提交的时候,我会强制要求,写注释。

阅读全文 » 1438天前
2020年04月20日

技术饭 Nginx设置alias的二级目录之后,首页访问正常,但是js、css、图片等静态文件出现404

Nginx设置alias的二级目录之后,首页访问正常,但是js、css、图片等静态文件出现404,之前配置了一个域名为pc访问域名,域名加个目录是访问后台,类似:a.com 是首页,a.com/admin 是后台,而且两个目录在同一个层级,但是alias配置之后一直找不到静态文件。

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

技术饭 postman接口工具设置headers头部的参数不能加下划线

今天做登录接口测试,正常逻辑是登录之后返回一个token给前端,以后前端都是拿着这个token来获取信息数据,正要测试时发现postman接口工具设置headers头部的参数不能加下划线,使用:sponsor_token 参数一直获取不到数据,纳闷了大半天,后来修改成:sponsortoken 就解决问题了。

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

技术饭 nginx目录路径重定向的方法,同一域名映射到其他目录

如果希望域名后边跟随的路径指向本地磁盘的其他目录,而不是默认的web目录时,需要设置nginx目录访问重定向。应用场景:abc.com域名解析在 /root/www/abc 目录,这时候希望 abc.com/admin 自动跳转到目录 /root/www/abcadmin。nginx目录路径重定向的四种实现方式:修改root映射、通过Nginx rewrite内部跳转、设置别名alias映射实现、通过nginx的permanent 301绝对跳转实现。

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

技术饭 css修改谷歌默认最小字体12px的方案

AikehouAdmin5.2.0版本后台的数据表单中,操作按钮的字体font-size属性设置成了10px,但是Google浏览器似乎不兼容,最小字体也就12px,几经折腾才弄清楚,原来是谷歌内核浏览器默认最小12px,其他浏览器却是支持10px,所以也只能做个兼容方案。解决方案是使用css的属性 -webkit-transform: scale(0.88); 来缩放解决这个问题。

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

技术饭 video标签的preload属性

之前,QQ群里有人提及“页面中有video标签(设置了src)时页面加载很慢”的问题,我想了解下原因,于是就看了下网页初始化时video标签做了什么。

阅读全文 » 1504天前
2020年02月14日

技术饭 uploadfive1.2.2 + jquery-cropper实现图片裁剪图片质量问题

uploadfive1.2.2 + jquery-cropper实现图片裁剪图片质量问题,经过反复使用测试还是发现了一个问题就是图片进行裁剪之后图片质量变得很模糊,最终的解决方案就是在图片创建canvas的时候设置裁剪图片的质量为high。

阅读全文 » 1774天前
2019年05月20日

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

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

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

技术饭 微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案

微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案,已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。这是怎么回事呢?遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的。

阅读全文 » 1927天前
2018年12月19日

技术饭 ajax 设置Access-Control-Allow-Origin实现跨域访问

ajax 设置Access-Control-Allow-Origin实现跨域访问,ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。

阅读全文 » 1928天前
2018年12月18日

技术饭 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里面配置。

阅读全文 » 2021天前
2018年09月15日

技术饭 Redis 密码设置和查看密码

Redis 密码设置和查看密码,redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。

阅读全文 » 2023天前
2018年09月14日

技术饭 jsonp请求接口php设置返回头部以及js格式化数字

jsonp请求接口php设置返回头部以及js格式化数字,文章主要整理了jsonp请求的php接口的流程并且给出了一些js函数代码,方便处理数据。

阅读全文 » 2201天前
2018年03月19日

技术饭 css3弹性盒子:从浅到深了解flex布局(图解)

css3弹性盒子:从浅到深了解flex布局(图解),flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联想到 Word 文档排版中用到的的左对齐、右对齐和居中对齐,然而很快就失望的发现 CSS 中并不存在 float: center 的写法,那么 text-align: center、verticle-align: center 是否可行呢?答案也是否定的。这两个属性只能用于行内元素,对于块级元素的布局是无效的。

阅读全文 » 2270天前
2018年01月10日

技术饭 解决 PHPExcel 长数字串显示为科学计数

在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号。使用PHPExcel来生成excel,也会遇到同样的问题,解决方法有三种:1、设置单元格为文本,2、在设置值的时候显示的指定数据类型,3、在数字字符串前加一个空格使之成为字符串。

阅读全文 » 2300天前
2017年12月11日

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

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

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

技术饭 php的curl设置Content-Type:application/x-www-form-urlencoded头部

php的curl设置Content-Type:application/x-www-form-urlencoded头部,如果是是一个数组,则content_type自动为multipart/form-data提交过去的是原始post,用$_POST[key]是无法获取如果是字符串。则反之。​

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

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

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

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

技术饭 如何判断js对象为null或者属性为空

如何判断js对象为null或者属性为空,首先说下null与undefined区别:对已声明但未初始化的和未声明的变量执行typeof,都返回"undefined"。null表示一个空对象指针,typeof操作会返回"object"。一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值。

阅读全文 » 2398天前
2017年09月04日

技术饭 从php5升级到php7之后,session不能传递的解决方案

从php5升级到php7之后,session不能传递的解决方案,刚刚把php升级到了php7.1.7,发现网站后台不能登录,一直提示验证码错误,可是明明GD库开启了,验证码也是显示的,经过测试发现是session为空了,折腾了大半天才知道php7的session默认设置是不传递的,有点坑啊。

阅读全文 » 2419天前
2017年08月13日

技术饭 ajax请求中的jsonp可以设置POST方式,但效率不高

ajax请求中的jsonp可以设置POST方式,但效率不高,JSONP是一种非官方协议,可以解决AJAX跨域提交数据情况。安全部门的同事测试发现,都是GET的请求,相比较而言不如POST安全,还是尽量改了吧。但是,JSONP真的支持POST提交吗?近期在项目中遇到这样一问题,关于jsonp跨域问题,get传值是可以的,但post传值死活不行啊,于是网上看了一大堆关于这方面的资料,最终问题得以解决,今天抽空与大家分享下。

阅读全文 » 2509天前
2017年05月15日

技术饭 redis错误ERR operation not permitted

redis错误ERR operation not permitted,在使用redis的时候时常会出这样那样的问题,今天遇到的问题是没有权限了,找了大半天原来是redis设置了密码,所以需要授权之后才能登陆的。

阅读全文 » 2513天前
2017年05月12日