自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行走天下

站着不动,永远只是个观众。莫为青春懊悔。

  • 博客(200)
  • 收藏
  • 关注

原创 linux 服务器之间传输文件的方式

情景:有时迁移项目,一般人就想到需要在服务器下载到win本地电脑上面,再上传到目的服务器,这样若是文件大,下载的速度都足够让你歇一天了。遇到这问题,怎么解决呢?

2023-07-13 09:57:37 2319

原创 微信小程序写一个比较好看的授权登录弹框

这里提供一个比较常见的小程序授权登录样式,拿来就能用,也可以自己的修改一些

2023-06-13 20:48:29 1123

原创 个人微信小程序怎么推广

个人小程序可以通过以下方式推广,百家号、知乎等,可以根据具体情况选择合适的方法。

2023-06-13 10:45:40 232

转载 小程序瀑布流mp-waterfall

微信小程序瀑布流组件mp-waterfall,实现瀑布流布局。

2023-06-12 20:39:37 627

原创 TP6.1 支持在 Swoole 环境下运行

实现了这些步骤后,就可以在 Swoole 环境下运行 TP6.1 应用了。同时,需要注意一些 Swoole 特性,如协程、异步任务等,可以加快应用的吞吐量和响应速度。前置条件:确保已经安装了 Swoole 扩展,并且开启了相关的 Swoole 功能,如异步任务、协程等。TP6.1 支持在 Swoole 环境下运行,可以通过一些简单的配置实现。文件,文件中可以配置监听地址、端口、worker 数量等相关信息。安装 TP6.1:可以通过 Composer 安装 TP6.1。修改入口文件:将入口文件(一般是。

2023-06-01 11:03:00 712

原创 vue与es6的知识点

v-bind 绑定标签的属性 src class a titie等等,可以简写 :src="" :class="{active: isActive}"'msg':function (index){//msg 是data对象里面的变量key。let const 不能重复声明,局部作用域,let str = `我是${name}`;this的在es5 与 es6的区分。let name = "未来";vue开发者 调试工具。

2022-11-29 16:05:30 338 1

原创 拆红包算法 php

本篇文章给大家简析PHP拆红包算法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。逻辑比较简单,传入金额.和拆分的数量。

2022-11-06 19:40:01 324

原创 订单24小时未支付,退还库存等信息的做法-- redis的做法

思路:一般是下单的时候,已经减去库存等信息,就在下单的地方,我们把订单id 和 addtime 组合放在redis队列里面,我们读取队列的时候,list 分割下单时间与当前的时间对比,若是超了24小时就操作对应的订单的操作。区别:下单数多的时候,第一种消耗的资源大些,查询速度就慢。第二种,借用Reids优势,执行的速度快,节省了mysql的开销。方法一:没有借用别的技术,就是查询出来未付款的订单,遍历方式是还原库存、优惠券等的问题。方法二:借助redis优势,开始的找到对应的订单,对其操作。

2022-11-02 10:52:15 469

原创 tp6.0 创建多个应用

tp6.0 创建多个应用。

2022-10-29 22:34:18 351

转载 workerman 检测禁用函数并解除方法

如果有提示Function 函数名 may be disabled. Please check disable_functions in php.ini说明workerman依赖的函数被禁用,需要在php.ini中解除禁用才能正常使用workerman。

2022-09-08 14:08:15 559

原创 thinkphp6开启Trace调试模式

在 require-dev 里面加上: "topthink/think-trace":"^1.0"一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以在。然后 执行 composer update 进行更新。若是上面已经有了,请忽略上面的步骤。

2022-09-05 18:02:46 1522 1

原创 Linux可以运行以下脚本检查本地环境是否满足WorkerMan要求

Linux用户可以运行以下脚本检查本地环境是否满足WorkerMan要求

2022-09-02 14:21:35 230

原创 nginx 屏蔽某些ip,防止有些人刷接口攻击

答:用户访问接口时候,我们代码里面会获取当前访问的ip,记录访问的次数频率等,超过多少次就写进去某个文件里面。怎么抓取对方的ip呢?抓取到了,又怎么写进去nginx去呢?这两个问题,没解决就是不知道怎么处理。上面代码只是获ip,一分钟,访问多少以上才写入这个文件,就根据你们的自己定义了。2、抓取到了,又怎么写进去nginx去呢?答:include 方式引进被禁用的ip。1、怎么抓取对方的ip呢?.........

2022-08-31 16:48:43 1802

原创 tp6.0 查询方式是以数据集对象,不能直接使用empty判断,而必须使用数据集对象的isEmpty方法判断

需要注意的是,如果要判断数据集是否为空,不能直接使用。判断,而必须使用数据集对象的。

2022-08-26 17:55:23 559

转载 thinkPHP6.0 route路由设置

路由规则的注册必须在应用的路由定义文件中完成。路由定义和检测是针对应用的,因此如果你采用的是多应用模式,每个应用的路由都是完全独立的,并且路由地址不能跨应用(除非采用重定向路由)。route目录下的任何路由定义文件都是有效的,分开多个路由定义文件并没有实际的意义,纯粹出于管理方便而已。默认的路由定义文件是route.php,但你完全可以更改文件名,或者添加多个路由定义文件。├─route 路由定义目录│ ├─route.php 路由定义│ ├─api.php 路由定义│ └─... 更多路由定义。

2022-08-25 14:33:53 2971

原创 tp6.0 开启本地调试模式

在本地开发,我们最要开启调试模式,最要减少出现线上之后的错误,也方便我们在开发过程中遇到的问题。一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以在。文件,你可以直接更名为。

2022-08-23 17:55:17 811

原创 tp6.0 open_basedir报错

查看问题描述以及资料,发现是php open_basedir 配置的问题,PHP不能引入其授权目录上级及其以上的文件;一般情况下是不会出现这种问题的,之所以出现这个问题绝大多数情况是由于服务器的原因,为了安全才做了这样的限制!若是的入口文件切换到public下,则修改下面的文件要去掉 public。

2022-08-23 17:22:04 669

原创 swoole注意细项

子进程结束必须要执行wait进行回收,否则子进程会变成僵尸进程swoole_process::wait()

2022-08-15 16:37:51 139

原创 think-swoole 坑爹项

报错信息:PHP Fatal error: Uncaught Swoole\Exception: bind(0.0.0.0:80) failed in /work/tp6/vendor/topthink/think-swoole/src/concerns/InteractsWithHttp.php:37。端口是80的时候,启动报错如下。端口为1880,启动成功。

2022-08-12 13:40:06 738

原创 Sourcetree 闪退问题

Sourcetree,有时我们用着用着就用不了,昨天好好的,今天就不能打开了。我遇到这个问题也找找了好多博文看了,也操作。还重新安装还是重新这样。后面发现麻痹的,这软件的打开的权限被限制了。找到上面的位置,勾上,确认,就可以了。...

2022-07-22 16:03:13 9259 4

原创 git 常用命令

git 常用命令

2022-06-24 15:04:43 47

原创 webman 与传统的php-fpm对比 效果

webmam 与 php-fpm 方式,有啥不同之处

2022-06-17 10:28:54 2034

原创 phpstorm 快速保存代码片段

phpstorm代码片段使用方法1).打开“File”-“Settings”,找到并点中“Live Templates”,2).点右边的+号3).Abbreviation是你将来要输出代码⽚断代码的缩写,下面是图示来显示操作的步骤

2022-06-16 09:58:35 546

原创 webman 控制器钩子 beforeAction 与 afterAction

在传统框架中,每个请求都会实例化一次控制器,所以很多开发者__construct()方法中做一些请求前的准备工作。而webman由于控制器常驻内存,无法在__construct()里做这些工作,不过webman提供了更好的解决方案beforeAction() afterAction(),它不仅让开发者可以介入到请求前的流程中,而且还可以介入到请求后的处理流程中。安装action-hook插件composer require webman/action-hook注意插件需要webman&g

2022-04-17 12:29:27 915 2

原创 webman 使用中的,遇到被禁用的函数,怎么处理?

webman 只要设置的到底层的东西的,php有些函数是默认是被禁用。要使用webman的话,就需要的把有些禁用的函数,剔除被禁用的状态。例如:composer 安装 或者是启动 webman服务时候报有些函数的错误[Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which is not av...

2022-04-17 11:23:56 972

原创 上传图片限制文件大小以及尺寸大小 php

在开发过程中,上传图片的基本都这功能的,但是呢客户都是随便上传,不会根据你的指定的需求上传的,这时客户按照我们指定的图片尺寸或文件大小上传,做限制。如下代码,我已经封装号了,可以直接拿来用。/** * @param $width 宽度 * @param $height 高度 * @param $size 文件大小 k为单位 * @param $path 文件绝对路径 * @return bool true or false */function getImgSize($width,$

2022-03-18 21:59:25 1723

原创 异步接口失败后推送的次数,时间间隔怎么控制

我们弄过微信或者支付宝的文档,都会涉及异步推送接口,当失败的时候,他们接口间隔多长时间再推送一次,直到24小时后不再推送。大家好奇他们是怎么做。案例、一般情况下,25 小时以内完成 8 次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h);把上面兑换 秒数 4*60s ,10*60s .........方式1、crontab定时任务执行 + redis队列假设 crontab 定时 5s 执行一次推送失败后,就把下次要执行的时间存起来,$redis->ge

2022-03-18 21:52:17 888

原创 YII2.0 where查询条件整理

YII2.0 where查询条件整理

2022-03-01 10:13:41 912

原创 yii2.0怎么接收 json的数据

php不能直接接收,get 和 post 都接收不到的json数据,json字符串相对与页面内容东西,原生的php$params = file_get_contents('php://input');Yii2.0$request = \Yii::$app->request;$params = $request->getRawBody();print_r($params);效果:...

2022-02-28 10:22:25 911

原创 Yii2.0检查是否控制台请求

Yii::$app->request->isConsoleRequest;Yii::$app->request->getIsConsoleRequest();

2022-02-28 10:04:05 119

原创 redis 的set(集合)类型的使用和应用场景

一、Redis 集合(Set)Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合对象的编码可以是 intset 或者 hashtable。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。二、基本使用sadd:添加一个元素到集合中(集合中的元素无序的并且唯一)redis 127.0.

2022-02-25 12:42:16 4180 2

原创 yii2.0 rules 指定某些情况使用

有时你想一条规则只在某个场景下应用,为此你可以指定规则的on属性, 如下所示:public function rules(){ return [ // 在"register" 场景下 username, email 和 password 必须有值 [['username', 'email', 'password'], 'required', 'on' => 'register'], // 在 "login" 场景下 userna...

2022-02-17 13:31:12 227

原创 linux查找含有某字符串的所有文件或者某个文件的所在的行

1、如果你想在当前目录下 查找"hello,world!"字符串,可以这样:grep -rn "13527627996" ** : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写2、某个文件的所在的行内容1)显示文件第几行:#sed -n 'xp' filenamelg:显示文件第3行(2)显示文件某几行:#sed -n 'x,yp' filenamelg:显示.

2022-02-16 11:46:19 5269

原创 截取某两个字符串之间的值

/** * 截取某两个字符串之间的值 * @param $str * @param $start_str 开始字符串 * @param string $end_str 结束字符串 * @return bool|string */function getSubStr($str,$start_str,$end_str='/'){ $arr = explode($start_str,$str); if (empty($arr) || !isset($arr[1])) { .

2022-02-09 11:40:05 1011

原创 swoole知识

由于PHP语言不支持多线程,因此Swoole使用多进程模式。在多进程模式下存在进程内存隔离,在工作进程内修改global全局变量和超全局变量时,在其他进程是无效的。对应的解决方案就是使用外部存储服务:数据库,如:MySQL、MongoDB缓存服务器,如:Redis、Memcache磁盘文件,多进程并发读写时需要加锁普通的数据库和磁盘文件操作,存在较多IO等待时间。因此推荐使用:Redis 内存数据库,读写速度非常快/dev/shm 内存文件系统,读写操作全部在内存中完成,无IO消

2021-12-20 15:25:37 588

原创 swoole 基础知识

swoole基础知识

2021-12-20 14:58:00 118

原创 去掉json格式数据的中 (参数值接收不完整)

图1 前端打印,也发现了多了&nbsp;图二,后端打印也有有&nbsp;的问题,&nbsp; 前端json格式 或者encodeURI之后,后端的接收,会不完整的内容,有些被解析为参数变量名解决方法: 在前端过滤掉&nbsp; 号var str = '{"data":[{"block":1,"name":"editor","title":"大萨达","content":"<p>皮肤需要保护,肠胃也要呵护噢<br/>&lt...

2021-12-14 15:15:54 840

原创 VirtualBox 和 vagrant在windows下的使用

下载安装 VirtualBox:Downloads – Oracle VM VirtualBox下载安装 Vagrant :Downloads | Vagrant by HashiCorp下载需要使用的 box :比如:xxx.box 后缀是.box注意:版本下载有时会有冲突的,最好的是安装VirtualBox 和Vagrant 最新版本注意:安装 VagrantVagrant 是没有图形界面的,所以安装完成后也没有桌面快捷方式。具体使用方法,接下来会详细说明。Vag...

2021-11-03 22:11:46 573

原创 php常见运行模式--4种

php常见的有4种:cgi 协议模式cgi模式 通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信, 调用原理大概为:用户请求->Web服务器接收请求->fork子进程 调用程序/执行程序->程序返回内容/程序调用结束->web服务器接收内容->返回给用户 由于每次用户请求,都得fork创建进程调用一次程序,然后销毁进程,所以性能较低fast-cgi 协议模式fast-cgi是cgi模式的升级版,它

2021-10-29 15:37:37 620

原创 php 线上排查问题方法

情景:已上线的项目突然出现了一点小问题,但你又看不出原因,怎么办呢,也不能直接输出终止程序运行逐步排错,在这里给你推荐一些方法:方法1:通过浏览器控制台输出接口/** * 控制台输出 可以把这个代码放在公共文件,可以在任意地方调用 * @param $var * @param string $level */function console($var,$level = 'debug'){ if(is_array($var) || is_object($var)){

2021-10-27 11:52:08 427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除