自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 个人博客,个人博客模版,用HTML+CSS做一个漂亮简单的个人网页,个人博客网站html源码

首页效果图:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <me

2021-03-27 15:44:48 32678 16

原创 PHP+Laravel+RabbitMQ实现异步延迟消息队列(库存归还)

一、前言需求:电商秒杀场景中,如果用户下单10分钟未支付,需要进行库存归还本篇是用PHP+Laravel+RabbitMQ来实现异步延迟消息队列二、场景在电商项目中,当我们下单之后,一般需要 20 分钟之内或者 30 分钟之内付款,否则订单就会进入异常处理逻辑中,被取消,那么进入到异常处理逻辑中,就可以当成是一个延迟队列公司的会议预定系统,在会议预定成功后,会在会议开始前半小时通知所有预定该会议的用户安全工单超过 24 小时未处理,则自动拉企业微信群提醒相关责任人用户下单外卖以后,距离

2022-05-09 16:03:00 2157 1

原创 PHP实现微信退款功能

PHP实现微信退款功能最近在调微信退款接口,发现有许多坑,更大家分享一下① 要是在测试的时候,网页提示 curl 58 说明 证书的路径出现问题(这里要填物理路径,也就是绝对路径)②网页提示curl 52 说明你的证书引入少了,在官方的demo上只有两个证书 apiclient_cert.pem和 apiclient_key.pem  你还需要引入一个证书 rootca.pem,这个证书需要你登录到你的商户平台上下载3.要是网页提示  "HTTP/

2022-04-01 15:58:40 1044 1

原创 MacOs M1 芯片分布式搭建 Nginx+PHP+MySQL和多站点域名访问

一、安装Nginx问题:Mac 在安装nginx之前记得把原本的apache2给卸载删除了,要不然后期会出现端口号被占用,或者有时候nginx用不了要停止apache服务:sudo apachectl stop 删除如下apache目录:/etc/apache2 /usr/include/apahce2 /usr/libexec/apache2安装nginxbrew install nginx sudo nginx // 启动nginx服务 默认127.0.0.1:808

2022-03-23 16:01:12 5874

原创 PHP+Swoole实现微信小程序客服即时通信聊天功能

实现客服功能

2022-03-14 17:33:06 17401

原创 MacOs 配置多站点不生效 ,端口被占用解决方法

解决方法一:Mac上启动nginx报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)原因:80端口已被占用(可能因为未成功关闭一些服务,如nginx服务等)解决:sudo nginx -s stop(或者:sudo nginx -s quit),然后重新启动,切换到切换进去 /opt/homebrew/Cellar/nginx/1.21.6/bin 目录下执行(sudo nginx).当然,如果

2022-02-24 14:24:17 2025

原创 PHP迭代生成器秒级导出百万级数据

一、PHP迭代生成器1.PHP性能优化利器:迭代生成器 yield理解很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。2.迭代生成器的优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么迭代生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响PHP代码运行时节省大量的内存比较适合计算大量的数据二、快速生成百万条测试数据这里推荐数据库的蠕虫

2021-11-18 09:50:47 470

原创 RabbitMQ 清除全部队列及消息

安装RabbitMQ后可访问:http://{rabbitmq安装IP}:15672使用(默认的是帐号guest,密码guest。此账号只能在安装RabbitMQ的机器上登录,无法远程访问登录。)远程访问登录,可以使用自己创建的帐号,给与对应的管理员权限即可。直接在管理页面删除访问http://{rabbitmq安装IP}:15672,登录。点击queues,这里可以看到你创建的所有的Queue,选中某一个Queue,下方有个Delete Queue删除队列/Purge Message清除消息。

2021-11-18 09:13:42 2428

原创 mac 安装 amqp扩展

首先安装rabbitmq-c,后面安装amqp扩展的依赖。brew install rabbitmq-c安装成功如图:查看rabbitmq-c安装目录cd /opt/homebrew/Cellar/rabbitmq-c/0.11.0使用pecl安装pecl install amqp安装过程提示:Set the path to librabbitmq install prefix [autodetect]# 输入rabbitmq-c安装目录位置 (0.11.0)是安装的版本目录/op

2021-11-18 09:12:39 471

原创 MacBookPro 安装配置 RabbitMQ

一、homebrew下载1.Mac有一个非常方便的类似软件管理包工具,也就是homebrew二、RabbitMQ下载安装1.brew update 【更新 brew的包】2. brew install rabbitmq3.下载完成路径在:/opt/homebrew/Cellar/rabbitmq/3.9.8注意:小伙伴们的版本号可能不同4.安装RabbitMQ的可视化监控工具:1): 切到安装目录cd /opt/homebrew/Cellar/rabbitmq/3.9.82):启动插件

2021-11-18 09:11:36 749

原创 从零创建发布属于自己的composer包

一、准备工作注册并登录github账户,github.com安装好git软件:注册登录packagist账户:packagist.org/二、创建线上仓库1.打开github,点击右上角加号,选择new repository2.而后,进行相关设置,如下图:这里需要输入项目名称,描述,是否公开,是否初始化readme,git忽略文件,以及开源协议等信息。3.拉取线上仓库到本地完成上面的操作化,会成功后会跳转到仓库页面。然后点击右侧的code按钮,然后再点击复制此仓库的git

2021-09-26 14:39:48 266

原创 cURL error 60: SSL certificate problem: self signed certificate in certificate chain

一、问题cURL error 60: SSL certificate problem: self signed certificate in certificate chain - 服务器http302 出现这个一般是自签名证书的问题二、解决方案1.直接使用线上服务器带https的域名方案2.windows本地开发环境解决方案a)下载证书:https://github.com/china-li-shuo/ca-certb)把下载的证书放到自己的php以下路径下:D:\wamp64\bin

2021-09-26 10:44:23 8016

原创 一个集成阿里云、腾讯云、七牛云对象存储的SDK

概述一个集成阿里云、腾讯云、七牛云对象存储的SDKAn SDK integrating Alibaba cloud, Tencent cloud and qiniu cloud object storage超级快速使用阿里云OSS或腾讯COS及七牛云Koa获取、放置、删除对象Supper quick use Aliyun OSS or Tencent COS or Qiniu Koa to get、put、delete Object.安装composer require china-li-shu

2021-09-10 15:18:51 385

原创 Redis缓存雪崩、击穿、穿透、到底是什么?

今日目标能够掌握Redis缓存雪崩概念及解决方案能够掌握Redis缓存击穿概念及解决方案能够掌握Redis缓存穿透概念及解决方案一、场景在今天的互联网里,高并发、大数据量、大流量已经成为了代言词,那么我们的系统也承受着巨大的压力,首当其冲的解决方案就是redis。 那么redis使用不当就会产生雪崩、穿透、击穿等问题,这也是考验一个程序员技术能力的时刻。 当然面试的时候,这也是高频面试题,几乎大厂都会问到。下面跟着贴心老哥一起来看看这些技术吧。二、缓存雪崩1.举例双十一期间,所有用户一

2021-09-09 14:43:23 258

原创 ThinkPHP6.0 实现 图片审核(色情识别)+文本内容审核(敏感词过滤)

应用场景用户评论过滤:对网站用户的评论信息进行检测,审核出涉及色情、暴恐、政治敏感、恶意推广等内容,保证良好的用户体验注册信息筛查:对用户的注册信息进行筛查,避免黑产通过用户名实现违规信息的推广文章内容审核:对UGC文章内容进行多个维度的审核,避免因内容违规导致的APP下架等损失内容审核功能文本色情:对文本中的色情行为描述、色情资源链接、低俗交友、污秽文爱等内容进行识别暴恐违禁:对暴力行为、恐怖描述、赌博、毒品、枪支弹药等违禁内容进行识别政治敏感:对文本中的敏感事件、涉政人物、散布谣言、

2021-09-02 15:11:44 1251

原创 设计模式及面向对象高级特性

今日目标能够掌握面向对象的高级特性能够具备设计纯面向对象框架和系统的能力能够遵循PSR-0规范开发一个基础框架能够掌握单例模式能够掌握工厂模式能够掌握注册树模式一、什么是设计模式?1.概念设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。2.举例如果我们把面向对象编程当成一本武功秘籍,设计模式就是其中的每一招每一式,如果我们可以把设计模式式活学活用,那在面向对象编程方面那一定是一个非常厉害的高手了!二、开发环

2021-08-31 09:45:58 186

原创 SourceTree的基本使用

今日目标能够掌握SourceTree 安装能够掌握SourceTree 连接远程仓库能够掌握SourceTree克隆,拉取,提交,推送能够掌握SourceTree 新建/切换/合并分支能够掌握SourceTree 冲突解决能够掌握SourceTree 提交PR(Pull Request)一、Github Desktop | SourceTree | TortoiseGit 可视化管理工具对比Github Desktop软件介绍简介:GitHub Deskt

2021-08-12 16:41:40 1656

原创 禅道项目管理软件配置及使用

今日目标能够掌握禅道的安装及运行能够掌握禅道的组成结构能够掌握禅道的基本使用流程能够掌握禅道创建分组和用户能够掌握禅道组成结构能够掌握Bug管理能够掌握文档管理一、禅道介绍禅道官网:www.zentao.net禅道是一款开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道将产品、项目、测试这三者的概念明确分开,产品人员、开发团队、测试人员,这三者分立,

2021-08-11 08:17:00 12160

原创 阿里云对象存储OSS及CDN加速配置

目录十大云存储服务商登陆阿里云官网,开通对象存储服务 OSS创建存储空间绑定自定义域名配置阿里云CDN加速购买阿里云免费SSL证书阿里云CDN配置HTTPS证书测试是否配置成功创建阿里云子账户,获取访问密钥到此为止,项目中对接阿里云对象存储OSS所需参数都有了十大云存储服务商https://www.hostucan.cn/cloud-storage1. 登陆阿里云官网,开通对象存储服务 OSS三种方式

2021-08-04 09:25:02 1090

原创 阿里云加了防盗链,小程序白名单如何填写

一、场景场景一:我的阿里云服务器,做了图片连接的防盗链,需要添加域名白名单图片才可显示出来场景二:我们的使用场景是这样的,DNS解析至阿里云的CND,CDN的回源指向阿里云的OSS二、问题我小程序没加白名单的时候图片显示不出三、解决需要如下操作:1、在CDN上防盗链白名单设置 servicewechat.com2、在OSS上防盗链白名单设置 https://servicewechat.com只有1、2两个配置都对了才能用。...

2021-08-03 20:14:32 540 1

原创 ThinkPHP6+JWT 中间件校验Token时效性

一、涉及到的知识点接口验签安全机制封装到服务层接口调用须使用验签接口验证封装到中间件二、下载ThinkPHP6.0框架如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:composer create-project topthink/think tp出现Succeed!则安装框架成功三、安装JWT扩展建议使用composer安装 方便 快捷,切到项目目录下运行以下命令composer require firebase/php-jwt出现Succ

2021-07-23 20:19:18 2019 1

原创 PHP递归

//模型公众方法,递归 public function treeLevel(array $data, int $pid = 0, string $html = '--', int $level = 0) { //静态数组不在方法内,所以无法覆盖 static $arr = []; foreach ($data as $val) { if ($val['pid'] == $pid) { .

2021-07-21 10:46:36 120

原创 Windows开启redis键空间通知

一、背景在做一个支付订单的CASE,需要对订单进行限定时间内支付,到期未完成支付则该订单失效,商品退库处理。二、方案这种案例很适合使用redis的keyspace notification键空间通知功能键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。可以通过对redis的redis.conf文件中配置notify-keyspace-events参数可以指定服务器发送哪种类型的通知。下面对于一些参数的描述。默认情况下此功能是关闭的。三、开启键空

2021-07-13 00:14:24 356

原创 PHP+Swoole实现webScoket即时聊天

一、前端页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>在线聊天室</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="css/r

2021-07-07 08:15:05 1235 1

原创 Laravel8 使用图形验证码做登录

一、 安装扩展包composer require gregwar/captcha二、定义路由//路由分组Route::group(['prefix'=>'admin','namespace'=>'Admin'],function (){ //登录显示 name给路由起一个别名 Route::get('login','LoginController@index')->name('admin.login'); //登录方法 name给路由起一个别名

2021-06-18 22:30:47 1173 5

原创 Laravel8 分页样式问题

一、问题:分页样式只显示上一页和下一页,中间的页码不显示二、查看升级文档说默认分页样式由bootstrap改为 Tailwind CSS 框架 需要修改代码三、解决方法1、第一种解决方法:直接修改源码改成默认配置为 bootstrapvendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php 116行 124行2、第二种解决方法: 使用文档提供的方式 用到Paginator的地方都定义一下,但是可能修改的地

2021-06-17 21:43:55 496 1

原创 Windows 64位下 wampserver3.2.3.3 安装phpphp7.3.21+redis5.2扩展

一、下载redis3.0 windows版本https://github.com/tporadowski/redis/releaseswindows下 cmd 进入 redis 安装目录 执行redis-server redis.windows.conf 启动服务见到如图则成功二、下载php7.3.2.1 对应的redis 扩展dll 文件https://pecl.php.net/package/redis/5.2.0RC1/windows三、将php_redis.dll文件并复制到ph

2021-06-06 21:00:30 443

原创 ThinkPHP5.0+七牛云SDK文件上传

一、问:为什么建议大家使用对象存储对象存储可以简单理解为用来存储图片、音频、视频等非结构化数据的数据池。相对于主机服务器,具有读写速度快,利于分享的特点。我为什么建议大家使用对象存储?我总结了这六点。1、网站数据动静分离,大幅提升网页性能一般情况下,我们都是建议使用主机服务器和对象存储分工合作的方式来存储网站数据。主机服务器主要负责存储网站的动态数据,对象存储则用来存储网站的静态文件。从而实现网站的动静分离,当用户访问一个网站时,分别从主机服务器和对象存储的服务器同步读取数据,可以大幅的提升网页性能。

2021-05-30 21:04:27 353

原创 windows手动安装composer

1、确保php环境变量是否配置好了windows设置php环境变量2、首先下载composer.pharcomposer.phar下载地址把下载的文件放到php文件夹下。记住,是跟php.exe同级目录3、创建composer.bat文件,复制一下代码到这个文件中。记住,是跟php.exe同级目录@ECHO OFF php "%~dp0composer.phar" %*3.右键以管理员身份运行compser.bat文件4.将php设置成全局变量,重要!!!5.重启电脑,一定要重启

2021-05-11 19:27:01 293

原创 windows设置php环境变量

1、找到要设置的php版本路径,然后进行复制2、添加环境变量(控制面板->高级系统设置->环境变量->最上方的李硕的系统变量Path->新增两条php路径即可)3、打开cmd输入php-v 即可查看添加的php版本信息...

2021-05-11 19:25:58 1583

原创 PHPStudy(小皮)V8.1 中使用cmd进入MySQL命令行模式

1、找到phpstudy_pro中的mysql可执行文件所在的位置(安装位置)把这个路径进行复制:D:\phpstudy_pro\Extensions\MySQL5.7.26\bin2、输入命令mysql -u root -p3、然后输入密码(注意这里的root是phpstudy里面root数据库的用户名)成功进入cmd模式是下面的界面:4、未成功进入报错解决方案(如果成功进入咋忽略以下步骤)ERROR 1045 (28000): Access denied for user 'ODB

2021-05-11 19:24:53 10758 3

原创 微信小程序源码免费下载

1、扫码进行体验2、源码下载关注微信公众号:《柯作》回复:小程序源码3、部分源码以http请求为例,把普通的http请求封装成Promise,import {config} from '../config.js'const tips = { 1: '抱歉,出现了一个错误', 1005:'appkey无效,请前往https://talelin.com/申请', 3000:'期刊不存在'}// # 解构class HTTP{ request({url,d

2021-04-04 09:35:52 1964

原创 支付宝H5嵌入APP内部支付

前景:由于苹果支付收取手续费太高,决定采用APP内嵌套H5进行微信和支付宝进行支付。安卓手机可以直接使用APP支付功能(APP支付和H5支付,只有两个参数不同而已,以及返回的参数格式不同,仅此而已)H5支付流程用户添加商品生成订单,选择支付宝支付方式,点击购买按钮,前端发送ajax请求到后端,后端调用支付宝统一下单接口生成预付单。对于H5支付返回的是一个表单的字符串(APP内支付是序列号的字符串),前端接收到直接复制给页面某个div,会自动调起支付宝APP进行支付,如下图:H5统一下单接口

2021-03-25 10:20:04 2080

空空如也

空空如也

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

TA关注的人

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