自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 swoole多人聊天(php)

多人群聊 (swoole)[php实现]上代码服务器端<?php//服务器代码//创建 websocket 服务器代码$ws = new swoole_websocket_server("0.0.0.0",9500);// on 函数 open message close$ws->on('open',function($ws,$request){ echo "新用户 $request->fd 加入。\n"; $GLOBALS['fd'][$reque

2021-04-12 23:32:12 508

原创 后续(php框架添加composer依赖)

自创框架添加composer包

2022-11-02 19:49:20 311 1

原创 终端导出mysql 下载

终端导出mysql 下载。

2022-08-16 11:01:33 412

原创 mongodb的认识

MongoDB

2022-06-24 18:42:05 247

原创 swoft运行时的那些坑

swoft运行时的那些坑1,报错: Error(code:0) Interface ‘Swoft\Http\Server\Contract\MiddlewareInterface’ not found使用:composer require swoft/http-se rver --ignore-platform-req=ext-redis2.报错:InvalidArgumentException(code:500) Bean name of encryptor is not defined!

2022-05-23 20:34:25 329

原创 swoole的那些事

swoole的那些事Server startstart()启动服务器,监听所有TCP/UDP端口启动成功后会创建worker_num+2个进程。Master进程+Manager进程+serv->worker_num 个Worker进程。Master 主进程主进程内有多个Reactor线程,基于epol/kqueue进行网络事件轮询。收到数据后转发到 Worker进程去处理Manager 进程新的Worker进程 对所有Worker进程进行管理,Worker进程生命周期结束或者发生异常时

2022-05-23 14:55:23 75

原创 进程和线程一定认识

进程和线程进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程, 是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处 理器调度和分派的基本单位。一个进程可以有一个或多个线程。进程上面是cpu执行index.php文件时就是一个进程ps -efl grep php-fpm //使用命令查看进程进程可以开启cpu 核数的 1到4倍进程和线程区别线程是程序执行的最小单位,而进程是操作系统分配

2022-05-22 19:03:06 97

原创 swoole第一节

swoole第一节swoole的由来PHP这个语言有很大的局限性,甚至可以说PHP语言只写做Web程序。网络 通信框架、异步、多线程,协程,多进程,这些特性正是php所不完善的功能( 虽然官方提供很多基础函数可以实现这些功能,PHP语言本身也提供了一些可以 实现进行底层操作和网络通信的扩展,比如sockets、 libevent, pcntl之类),普 通的phper也不具备这些特性的基础认知,基于此 Swoole 应运而生。Swoole是一个完全使用C语言编写面向生产环境的 PHP 异步网络 通信引

2022-05-20 21:50:19 89

原创 swoole的学习

swoole的学习什么是swoole ?swoole是PHP的异步、 并行、高性能网络通信 引擎,使用纯C语言编 写,提供了PHP语言的 异步多线程服务器异步TCP/UDP网络客 户端,异步MySQL, 异步Redis数据库连 接池,AsyncTask, 稍息队列,毫秒定时 器,异步文件读写, 异步DNS查询Swoole内置了 Http/WebSocket服务 器端/客户端、 Http2.0服务器端。swoole提供的功能库•http服务,编写一个简自 的web server。•TCP/UDP

2022-05-17 16:31:18 589

原创 学习mysql的日志

参考: https://segmentfault.com/a/1190000039733575事务日志:redo log先写 redo log 日志,后写磁盘这也是一个写磁盘的过程,但是与更新过程不一样的是,更新过程是在磁盘上随机 IO,费时。 而写 redo log 是在磁盘上顺序 IO,效率要高。PS:redo log 的存在就是把全局的随机写,变换为局部的顺序写,从而提高效率。回滚日志 undo log**undo log,主要提供回滚的作用,但还有另一个作用,就是多个行版本控制 (MVC

2022-05-10 17:10:04 195

原创 打造属于直接的php框架

打造属于直接的php框架:第一步创建目录:Admin 项目目录Index.php 入口文件App程序入口 Action © Model (M) View (V)Config 配置文件Log 框架日志目录Resource 资源目录(img、 css、 js等)目录结构index.php代码展示<?phpheader("Content-type:text/html;charset=utf-8"); //设置框架编码ini_set("date.timezone","Asia/Sh

2022-04-29 16:10:26 94

原创 php自动加载类使用

php自动加载类使用:目录结构index的代码展示<?phpheader("Content-type:text/html;charset=utf-8"); //设置框架编码ini_set("date.timezone", "Asia/Shanghai");//设置 时间区域const APP_PATH = __DIR__ . '/';//定义我们的项 目路径常量const Lib = '../PHPmm/';//定义我们的框架目录常量 //注意路径const Resource =

2022-04-28 18:19:35 519

原创 php开发自己的composer包

php开发自己的composer包:前提需要安装composer网站:https://packagist.org/ 可能需要梯子访问开发是最好先注册一下第一步创建插件:当想要初始化一个php项目的时候 , 或者想要开发一个类库给别人使用的时候都需要一个composer.json文件直接在项目目录输入 composer init 按照引导就可以生成了 , 详细的引导解释如下This command will guide you through creating your composer.js

2022-04-28 16:06:48 1210

原创 laravel使用简单使用MQ

laravel使用简单使用MQ简介:Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。队列配置文件存放在 config/queue.php。每一种队列驱动的配置都可以在该文件中找到,包括数据库、Beanstalkd、Amazon SQS、Redis以及同步(本地使用)驱动。其中还包含了一个 null 队列驱动用

2022-04-25 19:14:56 889

原创 php安装amqp扩展

MQ在laravel中简单使用:首先安装php 扩展 amqp对于mac 上集成环境MAMP安装/Applications/MAMP/bin/php/php7.3.29/bin/pecl install amqp首先安装rabbitmq-cbrew install rabbitmq-c查看rabbitmq-c安装目录cd /opt/homebrew/Cellar/rabbitmq-c/0.11.0安装过程提示:Set the path to librabbitmq install p

2022-04-22 17:25:05 2508

原创 laravel 永远返回 JSON 响应

laravel 永远返回 JSON 响应第一种方法(添加中间件)第一步、创建 JsonMiddlewareapp/Http/Middleware/JsonMiddleware.php<?php namespace App\Http\Middleware;use Closure;use Illuminate\Http\Request;class JsonMiddleware { public function handle(Request $request, Closure $

2022-04-21 14:15:14 1093

原创 Laravel增加自定义助手函数

Laravel增加自定义助手函数首先准备好一个laravel的框架在根目录app文件夹下新建helpers.php文件。打开根目录下composer.json文件,在autoload中增加"files":[“app/helpers.php”]进入命令行,进入当前项目中,执行composer dumpautoload命令。还有第二种方法(使用框架自己引导加载)在 bootstrap/app.php 中增加 require __DIR__ . '/../app/helpers.php';

2022-04-21 13:34:18 498

原创 Laravel绑定钉钉群警报(php)

Laravel绑定钉钉群警报:第一步:搞一个 钉钉机器人。为什么说要搞一个钉钉机器人,而不是开发一个钉钉机器人呢,因为我这次介绍的这个钉钉机器人添加起来太简单了,算不上开发编程的技巧。我们这次添加的钉钉机器人只有一个功能,就是通过钉钉机器人往钉钉群里面发送消息,不会回答消息。不会像客服机器人一样回答你的提问。该机器人主要用于定时将关键信息推送到群里面,提醒群里面的人要注意什么事情。1 添加钉钉机器人打开电脑版的钉钉,点击左上角的头像,再点击机器人管理。点击 自定义 机器人点击添加然后,把

2022-04-21 13:13:36 604

原创 rebbitMQ的简单搭建

安装rebbitMQ的简单使用:第一步docker安装rebbitMQ一、获取镜像使用docker search rabbitMq命令获取镜像列表2.使用docker pull docker.io/rabbitmq:3.8-management 拉取镜像我们选择了STARS数最多的官方镜像,此处需要注意,默认rabbitmq镜像是不带web端管理插件的,所以指定了镜像tag为3.8-management,表示下载包含web管理插件版本镜像,其它Tag版本可以访问DockerHub查询二、创建

2022-04-19 16:47:09 331

原创 MQ的了解

MQ的了解:如果进行产品选型Kafka优点:吞吐量非常大,性能非常好,集群高可用。缺点:会丢数据,功能比较单一使用场景:日志分析、大数据采集RebbitMQ优点:消息可靠性高,功能全面。缺点:吞吐量比较低,消息积累会严重影响性能。erlang语言不好定制。使用场景:小规模场景。RocketMQ (阿里产品)优点:高吞吐、高性能、高可用,功能非常全面。缺点:开源版功能不如云上商业版。官方文档和周边生态还不够成熟。客户端只支持java使用场景:几乎是全场景。rabbitmq的镜像队列

2022-04-19 16:06:28 1934

原创 RebbitMQ的初步了解

RebbitMQ的初步了解消息队列有哪些作用1 解藕:使用消息队列来作为两个系統的通讯方式,两个系统不需要相互依赖了 2.异步:系统A给消费队列发送完消息之后,就可以继续做其他事情了3. 流量削峰:如果使用消息队列的方式来调用某个系統,那么消息将在队列中排队,有消费者自己控制消费速度死信队列是什么?延时队列是什么?死信队列也是一个消息队列,它是用来存放那些没有成功消费的消息的,通常可以用来作为消息重试2.延时队列就是用来存放需要在指定时间被处理的元素的队列,通常可以用来处理一些具有过期性操作的

2022-04-19 12:32:25 2095

原创 实现docker可视化

第一步安装docker:推荐一个好用的xsell工具,感兴趣的话可以看一下用yum源安装查看是否已安装docker列表yum list installed | grep docker安装docker//-y表示不询问安装,直到安装成功,安装完后再次查看安装列表yum -y install docker启动dockersystemctl start docker查看docker服务状态systemctl status docker恭喜你安装成功😍😍😍😍第二步安装do

2022-03-21 18:55:01 4920

原创 laravel的接值及验证

laravel的接值封装及验证

2022-03-17 19:16:50 306

原创 跳坑坑,实现laravel的jwt(详细)

跳坑坑,实现laravel的jwt(详细):首先坑的运行环境看是nginx 还是apache nginx没有坑,apache有用户认证JWT 完整使用详解:https://laravel-china.org/articles/10885/full-use-of-jwt吃亏是福😝😜🤪😝<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On #开启rewriteEngi

2022-03-17 09:10:08 4238

原创 sql 查询相互关注的人

sql 查询相互关注的人现在有一张表为fans(粉丝表) 里面有两个字段from_user,to_user ,代表from_user关注了to_user简单的写法sql,我也是这种写法😝select a.from_user, a.to_user, if(b.from_user is not null, 1, 0) as is_friendfrom fans a left join fans bon a.from_user = b.to_user and a.to_user = b.f

2022-03-07 10:38:57 2836 2

原创 阿里云一键登录(对接移动端) PHP

阿里云一键登录(对接移动端) PHP一键登录的流程一键登录的好处极速稳定无需发送短信验证码,避免出现通道拥堵,短信延迟等不稳定因素。节约短信成本一键登录比短信验证成本降低了20%以上,而且不需要专门的开发运营。优化用户体验用户只需点击一下,不需要输入密码和验证码,2秒完成注册/登录。降低注册降低注册/登录门槛、从而减少流失率、提高转化率和留存率。绑定手机号码运营商端校验手机号码,能确保手机号码的真实有效性,过滤无效注册/异常登录。安全无风险SUBMAIL 一键登录服务应用多种安全

2022-03-05 16:32:23 2953 2

原创 极光推送(php)

极光推送:拿取自己注册的AppKey 和 Master Secret其次看文档代码描述: /**组装需要的参数 $receive = 'all';//全部 $receive = array('tag'=>array('###','###','###'));//标签 $receive = array('alias'=>array('fdsfd3453543435435453*****88497f501'));//别名 $content = '这是一个

2022-03-04 14:55:32 672

原创 对接app 微信登录,QQ登录流程(php)

对接app 微信登录流程(php):先捋一下思路:移动端app调起微信登录之后,拿到openId和accesstoken,去调用后端的接口,后端要先检查后端数据库中是否有相同的openId,在返回的结果中,要有标记字段,告诉前端是否已经存在这个openId对应的用户了,如果存在了,就返回用户信息完成登录,如果没有对应的用户,要告诉前端前去绑定这个openId,,然后用户去调用绑定接口,给后端发参数(openId,tel,code),完成绑定,,下次再登录时候,就能查到这个openid,对应的用户了,这

2022-03-04 11:55:37 1539 2

原创 订单号创建(php)

订单号创建

2022-03-03 15:03:16 1080 1

原创 php查询周边

数据库CREATE TABLE `m_cities` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nid` int(11) NOT NULL DEFAULT '0' COMMENT '城市id', `level` int(11) NOT NULL DEFAULT '0' COMMENT '省市级别', `pid` int(11) NOT NULL DEFAULT '0' COMMENT '父级id', `area_code` varchar(30)

2021-08-16 18:43:10 107

原创 docker部署tocat+nginx 负载均衡

docker部署tocat+nginx 负载均衡什么是负载均衡单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可负载均衡的优点简单的来说。可以减少服务器的压力,将原本一台服务器所要承受的访问量分给了多台,并提高了项目的可用性,当一台服务器挂掉的时候也不会导致整个项目瘫痪。nginx实现负载均衡nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将

2021-08-05 17:36:42 276

原创 php 简单的微信支付

php微信支付实现1.下载微信官方支付包在这里插入图片描述放到public下然后config 下 建一个 pay.php<?phpreturn [ 'wechatPay' => [ // 必要配置 'app_id' => 'appid', 'mch_id' => '*********', 'key' => '*********'

2021-07-22 16:33:06 1488 2

原创 window 10 docker部署

首先准备好docker环境,以及docker的可视化安装包自行寻找,暂不提供.菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html首先安装nginxdocker pull nginx:版本号 docker pull nginx:latest //默认最新 随后执行docker run--name nginx-test -p 8080:80-d nginx编辑nginx的配置文件server { listen

2021-07-13 14:10:36 233

原创 订阅消息通知,客服

##订阅消息通知,客服 标题微信公众平台没开通开通一下,执行微信小程序客服 <button open-type="contact" bindcontact="subscribeMessage">订阅</button>Js subscribeMessage(e){ let tempid = '***********'; wx.requestSubscribeMessage({ tmplIds: [tempid],

2021-07-08 18:57:56 153 2

原创 砍价两种种算法(转载)

砍价破浪算法(第一种)/** * 波浪递减砍价算法 * @param $count 拆分数量 * @param $price 拆分总价 */function new_split_red_packet($count = 20, $price = 5){ //已砍价格数组 $aleadyList = []; //已砍钱的总和 $aleadyCut = 0; for ($i = 0; $i < $count; $i++) { //此次

2021-07-07 20:41:37 1005

原创 好用的地址转径纬度

好用的地址转径纬度当我们在结算两者之间距离时地址转径纬度非常头疼1.根据经纬度取得地址:请求地址:http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=30.68093376455154,104.06552381979525&output=json&pois=1&ak=你的ak在此之前框架中获取到经纬度的方法这里我用Laravel 5.8框架举例Guzzle-http用于发

2021-07-02 21:24:32 1124 3

原创 简单的微信之第三方登录

先看图解(qq和微信都一样啦)数据库设计用户基础表(users)用户验证关联表(user_auth_rel)本地用户表(user_local_auth)第三方用户表(user_third_auth)第三方登陆主要是基于OAuth2.0协议来实现1、首先我们需要以开发者的身份向第三方登陆平台申请接入应用,申请成功后,我会获得一个applD和一个secrectlD.2、当我们的网站需接入第三方登陆时,会引导用户跳转到第三方的登陆授权页面,此时把之前申请的applD和secrectID

2021-06-27 19:14:57 936

原创 TP使用jwt(简单)

TP使用jwt(简单)安装tp安装jwtcomposer require lcobucci/jwt 3.3接下来封装一个jwt 规则最好加在<?phpnamespace tools\jwt;use Lcobucci\JWT\Builder;use Lcobucci\JWT\Parser;use Lcobucci\JWT\Signer\Hmac\Sha256;use Lcobucci\JWT\ValidationData;/** * Created by PhpStor

2021-06-23 15:11:48 815

原创 常见的攻击以及预防

在这提一嘴Linux是有CLamav杀毒软件管理Linux系统的详细:欢迎使用CLamav杀毒软件管理Linux系统csrf中文名称:跨站请求伪造CSRF可以做什么?攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。 目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性

2021-06-17 21:41:40 160

原创 加密方式(5)

加密方式(5)五种加密方式:sha1password_hashmd5base64_encodemd5(md5)openssl_encrypt<?php$pass = "1244566";//方式一//echo md5($pass);//echo md5(md5($pass));//不可逆//方式二//echo sha1($pass); //不可逆'//方式三//echo password_hash($pass,PASSWORD_BCRYPT);/

2021-06-17 21:13:19 199

空空如也

空空如也

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

TA关注的人

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