自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十年砍柴的博客

PHP,js,java技术博客

  • 博客(488)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mac PHP7.4安装

这是因为php7.4官方已经不再维护,所以Hombrew将该php版本移出了repository,所以安装不了。比如(所有旧版php仓库地址https://github.com/shivammath…查看可按照版本:brew search php。//将第三方仓库加入brew。

2023-11-16 10:09:18 324

原创 array_map与array_walk的用法与区别详解

今天看代码的时候,发现代码中使用array_map来统一去掉数组中的空格,比起循环来,方便了很多。2、array_map里面的函数可以是自定义函数,也可以是php自带的函数,比如trim去除空格等。1、array_map的用法是array_map(函数名,数组),而array_walk的用法是array_walk(数组,函数名);array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。3、array_map不可以改变原函数的值,会获取到新的数组。

2023-10-26 17:11:15 112

原创 thinkphp 解决跨域的三个方式

2. 在route.php加上 allowCrossDomain(),这个也是thinkphp推荐的做法。值得注意的是,三种办法中,任选一种。本人推荐的是在nginx中配置。1. 在tp入口index.php 加上header。3. 在nginx上允许跨域的头部。

2023-10-23 11:48:49 1274

原创 thinkphp开启定时任务的三种办法(最全)

this->setName('SendMessage')->setDescription("计划任务 SendMessage");//设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释。\app\task\DemoTask::class, //任务的完整类名。*/1 * * * * php 项目路径/think 设置的命令关键字。/*** 这里写计划任务列表集 START ***//*** 这里写计划任务列表集 END ***///echo '这里写你要实现的逻辑代码';

2023-09-08 16:10:08 2364

原创 thinkphp6如何将需要记录的日志单独记录到一个日志中

如何将需要记录的日志单独记录到一个日志中有时候需要将具体情况的日志统一记录到单一的类目中方便查看。比如支付日志,回调日志。可以使用通道解决方法。1.日志通道channel将配置不同的日志通道,将不同的日志记录到不同的日志中使用方法:Log::channel('pay')->info('支付日志');配置日志文件config/log.php,加入不同的配置:return [ // 默认日志记录通道 'default' => env('log.channel', 'file'),

2023-08-28 11:29:54 712

原创 group_concat用法详解

10 |数学 |小马 |王老师 |90 ||11 |数学 |小朱 |王老师 |90 ||3 |数学 |小王 |王老师 |70 ||4 |数学 |小张 |王老师 |90 ||7 |数学 |小钱 |王老师 |90 ||8 |数学 |小高 |王老师 |70 |

2023-07-08 09:19:59 343

原创 MYSQL中 find_in_set() 函数用法详解

strlist 需查询的字段,参数以”,”分隔,形式如 (1,2,6,8,10,22);,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。综上: FIND_IN_SET函数中,若前一个字符串包含在后一个字符串集合中,返回大于0的数,该数为前一个字符串在后一个字符串中的位置。2、in是完全匹配,find_in_set()函数是精确匹配,字段值以英文”,”分隔。(str,strlist) : str 要查询的。

2023-07-07 16:47:34 341

原创 An illegal reflective access operation has occurred警告

笔者根据控制台的警告信息,在"java.base模块内的jar包名"处填写的是 java.util.Properties.defaults包在java.base模块内对应的jar包,即 java.util包(感觉这样会比较保险),当然填写其他的好像也可以(前提是在java.base模块内,但是没弄懂具体是什么回事)。deny 不允许所有的非法访问操作,除了启用其它命令行参数排除的模块,例如"–add-opens",这个参数可以参数将某些模块排除出来,让它们能够通过非法反射进行访问。

2023-05-29 13:06:00 1791

原创 vue中 v-model 和 :model 的区别

于是经过我一番研究发现 :model 其实相当于 v-bind:model 的缩写,对于我想要绑定的 input 的值应该使用 v-bind:value ,所以如果在 input 元素上想要使用缩写形式应该是 :value ,经过我的试验发现这种缩写形式确实是可行的,数据可以成功渲染到浏览器。:model 是 v-bind:model 的缩写,可以实现将父组件的值传递给子组件,但是子组件不能传给父组件,无法双向绑定。v-bind:value 可以简写为 :value ,数据只能从data流向页面。

2023-05-25 16:11:38 403

原创 Load key “/Users/jaminye/.ssh/id_rsa“: bad permissions

chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

2023-05-14 08:52:33 107

原创 fast中user_id如何显示user表中的名称_关联模型

>with(['user','doctor','keshi'])//添加模型里面的方法。问题:编辑框内的user_id显示的是nickname 列表里如何显示nickname或是username。需要更改3个地方,控制器,模型,js文件。//关联模型 会员表 user。4.完工,就可以显示名称了。1.控制器index。

2023-05-09 15:25:46 944

原创 PhpStorm设置等号对齐

1、按 Ctrl + Alt + S 启动设置面板,Scheme 选择 Default 是怎对 IDE 设置的,如果选择 Project 则是只针对当前项目有效。3、点击 OK保存即可,后期写代码只需要 Ctrl + Alt + L 普通的等号赋值都可以对齐,数组的键值对也可以对齐。强迫症写代码一定要求代码整洁美观, 甚至连等号都要对齐。

2023-05-08 13:41:22 769

原创 Hyperf中的其它事项

到这里,我们整个 Hyperf 框架的学习就结束了,同时,整个 Swoole 系列也就告一段落了。这里先不煽情了,毕竟后面还有一篇大总结,大家有收获吗?不管怎么样,一步一步跟着我走下来,相信多少都会有一点感悟和成长。更重要的,如果有机会,不如尝试在实战中运用一下,这才是真正成长的最佳机会。

2023-05-06 14:43:41 615

原创 Hyperf 运行各种网络服务

是不是总体感觉来看是要比纯手写 Swoole 的这些服务更方便一些呀。毕竟框架走了一层封装之后还是让我们能更容易去使用这些服务了。如果你在日常工作中有这方面的需求,那还是需要更深入地去官方文档中进行更加详细的学习。

2023-05-06 14:42:32 815

原创 Hyperf操作数据库

今天的内容非常简单,没有什么学习压力吧。一开始就说过了,这个框架的很多东西都和 Laravel 是一样一样的,而且我之前的项目甚至可以达到大部分的代码平行迁移过来。怎么说呢,百花齐放是好事,各种思想经验可以学习借鉴,但天下大同也不是什么坏事,对于业务应用来说会非常方便。有兴趣的小伙伴到这里其实就完全可以尝试尝试用 Hyperf 写一个小程序试试咯!

2023-05-06 14:42:27 1364

原创 安装运行Hyperf

除了我们上面讲的和 Laravel 一样使用路由文件定义路由之外,我们还可以通过一种注解的方式来定义路由。新建一个控制器。/***/注意看哦,在类定义上面,我们使用了一个 PHP8 最新的原生注解。关于 PHP8 的注解功能,可以参考最下方参考链接中的第二条链接,鸟哥有详细的说明。然后在方法上,使用的 @RequestMapping(path="r", methods="get,post") 这种形式,它是 Hyperf 框架提供的注解能力。这两个注释的作用是什么呢?

2023-05-06 14:40:40 1101

原创 redis实现30分钟未支付取消订单

关闭进程 ps aux | grep "nohup php psubscribe.php &" 找到pid 然后kill。代码地址:https://github.com/SmallForest/redisKeyCancel。Redis setex 设置一个指定时间的key,setex order_no 1800 1。设置守护进程 nohup php psubscribe.php &根据callback中的key,去处理业务~这里随意。发布的求租 求购 拼团超时需求无人响应,退回押金。

2023-04-19 11:21:35 143

原创 Mac terminal终端或iterm2出现问号解决方案

是因为配置中有非ascii字符编码,这两个问号本来是好看的箭头,但是箭头在当前字体中是不会被显示的……所以解决方法是重新下载一个支持非ascii编码的字体。上有一个字体:yizhen20133868/fonts。

2023-04-19 09:23:49 638 1

原创 RabbitMQ安装教程(Mac)

1、RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境。前提必须是mac安装了HomeBrew(软件包管理系统),以下都是基于mac版本的。因为我的 host配置错了,重新配置host,重启电脑即可(不重启电脑仍可能错误)如果出现command no find 说明环境变量没配置。RabbitMQWeb管理界面及授权操作。配置mac的环境变量后,命令也可以使用了。3、我启动后出现错误。

2023-04-12 12:00:37 1018

原创 Mac 安装及设置 rabbitmq

在Mac下安装编辑完后:wq保存退出,使环境变量立即生效。

2023-04-07 13:27:10 1340

原创 PHP7中Reids键空间通知配合TP5实现分布式延时任务的方法

官方解释:匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。命令行工具的使用:https://www.kancloud.cn/manual/thinkphp5_1/354146。//这里是直接连接本地redis。Log::error(get_current_date().'--过期事件的订阅-- ');Log::error('[1]--过期事件的订阅 ' . $msg);5、查看打日志文件,看有没有接收到过期的key。

2023-02-23 16:42:22 340

原创 golang:%v,%+v,%#v的区别

【代码】golang:%v,%+v,%#v的区别。

2023-02-11 12:36:58 637

原创 什么是最左前缀原则?什么是最左匹配原则?

所以,当然是我们能尽量的利用到索引时的查询顺序效率最高咯,所以mysql查询优化器会最终以这种顺序进行查询执行。可以看出他是使用索引了,因为对于三个索引的时候,只要是前两个,存在,不论顺序是什么都是会使用索引的,这里主要是mysql查询优化器起的作用了。值得注意的是,where sex=“2” and name=“4” 这个相当于只有sex使用到了索引的,然后回到刚才的3.1中三个索引的时候:sex,age,name。联合索引的顺序为:sex,age,name。这两个都是用了索引的,这是。

2023-02-06 11:38:12 423

原创 常用大于等于小于的特殊标记LT、LE、EQ、NE、GE、GT

关系运算符 == (或 eq )、!= (或 ne )、 < (或 lt )、 > (或 gt )、 = (或 ge )算术运算符 + 、 - 、 * 、 / (或 div )和 % (或 mod )//大于等于运算符,如果运算符两边左边大于等于右边则返回真,否则返回假;//小于等于运算符,如果运算符两边左边小于等于右边则返回真,否则返回假;//大于运算符,如果运算符两边左边大于右边则返回真,否则返回假;//小于运算符,如果运算符两边左边大于右边则返回真,否则返回假;

2023-02-05 10:37:57 12185

原创 关于MAC zsh: command not found: bee 处理方案

(1)vim ~/.zshrc ------>添加上面路径 ------>wq 保存退出-------> source ~/.zshrc 即可。如果不行,还是出现 zsh: command not found: bee 这个提示,问题不大。如果还是不行,那么在zshrc配置文件中添加以下路径:操作和在bash_profile添加配置一样。最近在玩GO语言,接触到GoBee 这个框架,安装完成后检查。这3个是要记住的,如果咱们没有看到这3个,问题不大。---------以上都是前置条件-----

2023-02-02 16:39:01 465

原创 GOROOT 和 GOPATH 的区别

指的是项目的开发目录,存在三个目录结构,分别是src、pkg、bin目录bin #编译文件目录pkg #第三方包目录src #目源文件目录,开发项目存放在这个目录下图例:所以在开发的时候,我们要先设置好这两个值到环境变量,才能在执行开发编译命令的时候能够正常查找处理。

2023-02-02 14:49:04 203

原创 golang继承 匿名继承和有名继承

匿名继承时指定调用的结构体方法,这时候一定会调用People上的ShowA方法,如果People没有该方法会编译报错。Teacher没有ShowA的方法,虽然People有,但是此时People不是匿名继承 ,如果要要调用需要指定继承事指定的名称。golang是可以实现继承的,但是这种继承并不是严格意义上的继承,golang并不支持继承特性,因而也没有单继承,多继承,重写方法等复杂概念。t里没有这个对象,此时People在结构体的名称为P,而不是People,此时的People是P的类型。

2023-01-31 18:41:08 275

原创 php实现短链接系统

第二步:服务器301/302重定向Api接口如下,(假如此Api接口地址:http://www.test.com/api/longUrl?* 算法描述:使用6个字符来表示短链接,我们使用ASCII字符中的'a'-'z','0'-'9','A'-'Z',共计62个字符做为集合。假设:长连接地址:http://www.test.com/index.php。短连接地址:http://t.test.com/六位code码。

2023-01-26 20:10:43 1148

原创 PHP实现URL长连接转短连接方法总结

2. 将这32位分成四份,每一份8个字符,将其视作16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;* 3. 这30位分成6段, 每5个一组,算出其整数值,然后映射到我们准备的62个字符中, 依次进行获得一个6位的短链接地址。* 算法描述:使用6个字符来表示短链接,我们使用ASCII字符中的'a'-'z','0'-'9','A'-'Z',共计62个字符做为集合。// 这30位分成6段, 每5个一组,算出其整数值,然后映射到我们准备的62个字符。

2023-01-26 20:09:30 1094

原创 PHP(1) Error: [email protected] has been disabled because it is a versioned formula

找到disabel这一行,然后注释掉(就是在前面加个#);方法很简单,不用加入新的库。直需要修改一个对应文件!其他同类型的,一样可以用这个方法!然后执行安装命令即可!

2023-01-12 11:33:46 7512

原创 报错Command failed with exit 128:git

具体如图所示,执行brew install redis报错Command failed with exit 128:git。记录一个问题,原因是今天使用Mac上面的Brew安装一个Redis发生了错误,我也是头一次使用Brew。输入brew -v后会提示你执行两个配置命令,直接复制执行就ok了!理论上来说使用brew安装出现这种Error都是可以解决的!

2023-01-12 10:40:52 1724

原创 mysql的group_concat函数详解

如果我们希望按分数score进行分组,并将分组后的学生姓名打印下来,就可以用group_concat实现。常用于select 语句中,下面我们通过一张表来讲解group_concat函数的用法。

2023-01-09 18:11:44 436

原创 TP6(thinkphp6)队列与延时队列

@Description: todo(有些消息在到达消费者时,可能已经不再需要执行了)//当轮到该任务时,系统将生成一个该类的实例,并默认调用其 fire 方法。//这里只是负责将数据添加到相应的队列名称的队列里,消费者与生产者并无联系。//通过这个方法可以检查这个任务已经重试了几次了。//当前任务归属的队列名称,如果为新队列,会自动创建。//将该任务推送到消息队列,等待对应的消费者去执行。//有些消息在到达消费者时,可能已经不再需要执行了。//如果任务执行成功,记得删除任务。

2023-01-09 17:57:01 1614 1

原创 TP6队列与延时队列

/当轮到该任务时,系统将生成一个该类的实例,并默认调用其 fire 方法$jobHandlerClassName。//有些消息在到达消费者时,可能已经不再需要执行了$isJobStillNeedToBeDone。//这里只是负责将数据添加到相应的队列名称的队列里,消费者与生产者并无联系。//当前任务归属的队列名称,如果为新队列,会自动创建。//将该任务推送到消息队列,等待对应的消费者去执行。//如果任务执行成功,记得删除任务$job。//立即执行$isPushed。

2023-01-09 17:54:28 526

原创 m1安装php环境

或者 /opt/homebrew/Cellar/php/8.1.7/include/php/ext/swoole 创建软连接。在 /opt/homebrew/etc/php/8.1/conf.d 下创建 ext-redis.ini。1、缺少openssl/ssh.h时 添加 --with-openssl-dir。如果安装不上可手动安装扩展(其他扩展一样的安装方式)二、安装运行环境 有了brew安装就非常简单了。9、停止老的PHP版本,启用新的php版本。10、安装php扩展 pecl方式或手动。

2023-01-03 12:34:52 752

原创 Elasticsearch - 新增数据时 出现index_not_found_exception的解决办法

新增数据时出现,表明该index不存在。es未开启自动创建索引功能或者不想启动es自动创建索引,但又没手动创建索引。

2022-12-31 10:53:28 3492

原创 安装运行Hyperf

除了我们上面讲的和 Laravel 一样使用路由文件定义路由之外,我们还可以通过一种注解的方式来定义路由。新建一个控制器。{/***/}}注意看哦,在类定义上面,我们使用了一个 PHP8 最新的原生注解。关于 PHP8 的注解功能,可以参考最下方参考链接中的第二条链接,鸟哥有详细的说明。然后在方法上,使用的 @RequestMapping(path="r", methods="get,post") 这种形式,它是 Hyperf 框架提供的注解能力。这两个注释的作用是什么呢?

2022-12-31 10:15:21 1065

原创 TP5的消息队列

2.配置队列,queue内置了四种驱动,推荐使用redis驱动。到此,所有代码准备完毕,经历了一个消息的 创建 -> 推送 -> 消费 -> 删除 的基本流程,5.启用队列的监听模式,队列的监听模式有两种,配置参数如下。),安装think-queue先进入到项目根目录,运行。安装完成后,有think-queue文件夹,再运行。微信截图_20200909142126.png。微信截图_20200909142609.png。查看是否安装成功,出现如下,则安装成功。3.消息的创建和推送,首先要添加队列。

2022-12-27 16:22:56 1067 2

原创 MacOS 安装 Maven

开发项目时项目首先会从本地仓库中获取 JAR 包,当无法获取指定 JAR 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 JAR 包,并“缓存”到本地仓库中以备将来使用。由于某些原因的限制,国内访问Maven的中央仓库比较慢,甚至有些依赖会下载失败,所以这里建议将中央仓库改为国内的镜像。Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。在终点输入命令,查看安装结果。

2022-12-24 15:11:00 760

原创 已损坏,无法打开。 您应该将它移到废纸篓 终极解决方案

先不要按回车,打开 “访达”(Finder)进入 “应用程序” 目录,找到该软件图标,将图标拖到刚才的终端窗口里面,会得到如下组合。打开系统偏好设置 -> 安全性与隐私 -> 通用 -> 任何来源。在终端执行如下命令,打开后如图所示。如果您仍然坚持软件没有问题,在终端执行如下命令。2、更改应用程序拓展属性。3、考虑app本身问题。1、打开任何来源设置。

2022-12-24 15:09:31 2140 1

Uploadify的html5版本 ---uploadifive

一款优秀的上传插件,Uploadify的html5版本

2021-04-01

H+4.9正版源码.zip

一:关于H+ H+是一个完全响应式,基于Bootstrap3.3.4最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术,她提供了诸多的强大的可以重新组合的UI组件,并集成了最新的jQuery版本(v2.1.1),当然,也集成了很多功能强大,用途广泛的jQuery插件,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。

2019-06-18

空空如也

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

TA关注的人

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