自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 安装GRPC-GATEWAY时遇到google/protobuf/descriptor.proto: File not found.

将 gRPC-Gateway 注释添加到现有的 proto 文件官方文档: https://grpc-ecosystem.github.io/grpc-gateway/docs/tutorials/adding_annotations/根据官方文档在安装gRPC的时候,遇到这个错误D:\go project\go_grpc\pb>protoc --go_out . --go_opt paths=source_relative --go-grpc_out . --go-grpc_opt paths

2022-01-14 10:33:29 3996 1

原创 docker 集群中 nginx 配置 php 需要注意的地方

序最近docker部署集群的时候遇到了一个问题。于是就踩坑了…问题复现那就是php和nginx不在同一个容器,却要通过nginx配置的server_name和listen来访问php项目。之前在本地集成环境部署的时候没有考虑过这个问题,是因为只要nginx的root根目录和php的root根目录指向同一个目录,这样把项目文件放到这个目录下就可同时访问,也就不存在说是php来访问还是nginx来访问的说法。但是在集群中也就需要考虑这个问题了。思路静态文件需要在 nginx 容器内,php代码放

2021-12-20 09:35:11 329

原创 docker swarm 集群搭建与服务更新

title: "docker swarm 搭建与服务更新"date: 2021-12-15T17:54:53+08:00Description: ""Tags: ["docker", "swarm", "docker-compose"]Categories: ["docker"]DisableComments: false序研究了好久的docker集群部署终于是在本地服务器跑通了。于是趁着热乎赶紧码下来。1. 创建集群docker swarm init --adve

2021-12-16 15:45:22 1850 3

原创 docker实战部署项目(Dockerfile、docker-compose、线上项目不停机更新)

还不会docker的小伙伴可以跳转到这个地址https://blog.csdn.net/hzbskak/article/details/118367706步骤:编写项目微服务dockerfile构建镜像docker-compose.yaml编排项目丢到服务器 docker-compose up编写项目微服务这是前提工作,必须确保项目是可以运行的。创建网络docker network create hc-net1140dab39575b6b211319554c88bebf0d82.

2021-11-25 16:00:12 2778

原创 Dockerfile 文件: docker build制作镜像时,出现pecl not found

问题复现:官方给出的扩展安装地址https://github.com/hyperf/hyperf-dockerRUN apk add --no-cache librdkafka-dev \&& pecl install rdkafka \&& echo "extension=rdkafka.so" > /etc/php7/conf.d/rdkafka.ini以上代码加入到Dockerfile中,重新build会报错/bin/sh: pecl: not fo

2021-11-23 20:09:21 1443

原创 精心整理的MYSQL面试题

1. MySQL 索引使用有哪些注意事项呢?索引哪些情况下会失效查询条件包含or 会导致索引失效组合索引中,查询时要按照最左原则进行where条件判断like中 "%asdg"会导致索引失效对索引进行函数操作或加减会导致索引失效*索引中使用!= 或者 not in 会失效*隐式转换也会失效 比如字段是int 却用where age=‘1’不适用的场景数据量少的情况下不建议用索引离散低的不建议用索引如 sex 男女频繁更新的字段不建议加索引

2021-10-19 18:55:34 357

原创 精心整理的REDIS面试题

1Redis和Memcached相比,有哪些优势?redis支持 string list set hash zset,memcached只支持stringredis支持数据持久化,可以把内存中的数据持久化到硬盘上,memcached不支持,只能存到内存中,重启就没有数据了。redis使用的是单线程的多路IO复用机制为什么用redis?因为传统的关系型数据库已经不适用于所用的场景了,比如秒杀时的库存扣减,APP首页的访问流量高峰。很容易把数据库搞崩,所以就需要用到缓存中间件。目前市面上常用的中间

2021-10-19 18:55:04 260

原创 精心整理的NGINX面试题

为什么要用Nginx?因为跨平台,配置简单,支持高并发,耗费内存少。为什么Nginx性能这么高?因为nginx是异步非阻塞事件处理机制:运用了epoll模型,提供了一个队列,排队解决Nginx怎么处理请求的?nginx接受一个请求后,首先由listen和server_name 匹配server模块,在匹配的server模块里location,location就是实际地址什么是正向代理和反向代理?正向代理:客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容

2021-10-19 18:54:30 1856

原创 精心整理的PHP面试题

列举一些 PHP 中的设计模式?单例模式:保证在整个应用程序的生命周期中,单例类的实例只存在一个工厂模式:定义一个创建对象的接口,让子类去实例化具体类。观察者模式 发布/订阅模式:当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。适配器模式:将一个类的接口转换成客户希望的接口,使得原本不兼容的接口可以兼容依赖注入模式:是ioc的一种实现方式。用来减少程序中的耦合简述一下 PHP 垃圾回收机制(GC)php使用了引用计数,同时使用根缓存区机制,当php发现

2021-10-19 18:52:44 617

转载 数据结构与算法基础ppt

B站学习地址9.13开始线性表2.1线性表的定义和特点 P10[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bkl8KSdP-1631843679228)(https://cdn.jsdelivr.net/gh/4927525/images@master/20210914/image.6ijei5adnt80.png)]线性表是具有相同特性的数据元素的一个有限序列[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHyr9Lpr-1

2021-09-17 09:56:39 1521 1

原创 后端分层架构开发规范

info.php<?php本规范由璩雷初步制定,Server端架构组一起优化完善。大家有建议或者意见请与架构组讨论通过后再统一写入规范执行。‘’‘规范不一定是最好最正确,但是大家是一个团队,统一更重要,所以请大家务必执行,按照规范执行编码。’’’protected下分层结构和说明:├── controllers 控制器, 调用Business层、Service层实现组合业务逻辑,禁止调用Model层。接收客户端参数,组装数据输出给客户端。│ ├── doctor│ ├── h

2021-08-13 15:37:23 213

原创 阿里云oss上传

# 首先执行composer require hyperf/filesystem# 使用阿里云 OSS 适配器时执行composer require xxtime/flysystem-aliyun-oss安装完成后,执行php bin/hyperf.php vendor:publish hyperf/filesystem<?phpdeclare(strict_types=1);/** * This file is part of Hyperf. * * @link h

2021-07-16 11:39:10 487

原创 docker安装rabbitmq

# 创建容器docker run -itd --name rabbitmq --net mynet -p 5672:5672 -p 15672:15672 -v D:\docker\server\rabbitmq\data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=/ rabbitmq# 启动docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_ma

2021-07-14 09:42:57 81

原创 hyper启动进程数量设置

2021-07-08 11:39:55 678

原创 tp记录后台操作日志

序最近leader让我优化一下之前后台系统的日志操作记录,于是自己写了一个问题复现旧的实现是在写入数据库后同步新增操作日志的,就好像下面这样。# 修改数据库Db::name('la_public_lang')->where('id',$postData['id'])->update($data);# 同步写入日志$this->operateLog($this->get_type(),'公共语言','la_public_lang',$postData['id'],$

2021-07-07 09:16:50 1966 4

原创 Docker最新超详细版教程通俗易懂--笔记2021年11月23日更新compose

Docker安装使用官方安装脚本自动安装安装命令如下:curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun也可以使用国内 daocloud 一键安装命令:curl -sSL https://get.daocloud.io/docker | sh手动安装卸载旧版本较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。yum remove

2021-06-30 19:26:22 5170

原创 php调用接口时将请求和响应信息写入日志表中

直接上代码 /** * 发送请求 中间处理 * @param string $name 方法名/动作类型 * @param string $method 请求方法 * @param string $data 请求/响应数据 * @param array $edit_log 需要修改的日志数据 * @param int $log_id 日志ID * @param int $is_ad

2021-06-21 10:35:35 741 3

原创 php多线程请求post

多线程代码/** * 多线程请求post * @param string $name 接口名称 * @param array $data_string 数据 * @param int $timeout 超时时间 * @param array $header 头信息 * @return array */ private static function curl_http_post($name, $array, $timeout =

2021-06-21 10:11:00 607

原创 laravel+gatewayworker(workerman)+vue实现用户聊天功能

git地址:https://gitee.com/hzbskak/laravel_worker环境 PHP 7.4.19、Laravel Framework 5.8.38、mysql Ver 14.14 Distrib 5.7.33下载laravelcomposer create-project --prefer-dist laravel/laravel laravel_worker "5.8.*"下载gatewayworkerhttps://www.workerman.net/downlo.

2021-06-09 19:52:14 868 2

原创 tp6导出excel,可指定字段

项目中我用的是tp6版本。先引入composercomposer require phpoffice/phpspreadsheet直接上代码<?php/* * author hzbskak * email hzbskak@gmail.com * date 2021/6/3 */namespace demo\service;use PhpOffice\PhpSpreadsheet\Cell\Coordinate;use PhpOffice\PhpSpreadshee

2021-06-03 16:46:35 362 2

原创 解决在使用unset()函数后数组变为对象的问题

使用unset()后,数组会变为: {total: 3, per_page: 20, current_page: 1, last_page: 1, data: [,…]}需要再使用array_value()$dp['data'] = array_values($dp['data']);这样数据就变回数组形式了data: [,…]

2021-06-03 16:06:32 376

原创 nginx: [warn] conflicting server name “xxx“ on 0.0.0.0:80解决

windows下启动nginx服务,报错。意思是重复绑定了server name,但这个警告不会影响到服务器运行。而且,这个重复绑定的意思是现在运行的nginx服务和将要加载的新配置中的重复,所以,这个警告其实是不必的。解决方法先查看nginx.conf中是否绑定该域名如果有的话,到vhost.conf中查看,如果有的话删除掉然后重启服务即可。清空下图代码重启服务大功告成~...

2021-05-31 09:23:17 5172

原创 从零安装Centos SSH连接

虚拟机创建虚拟机

2021-05-24 15:45:30 96

原创 Linux编译安装软件合集 (lnmp git rbmq redis php扩展)(持续更新中...)6.25更新

**开机需要启动服务的命令nginx -tservice php-fpm start#redis/opt/local/redis/bin/redis-server /opt/local/redis/redis.conf#rabbitmqcd /opt/local/rabbitmq_server-3.8.16/sbin/./rabbitmq-plugins enable rabbitmq_management # 启动插件./rabbitmq-server -detached # 启动服务.

2021-05-24 15:30:56 582 2

原创 TP6记录错误日志

ExceptionHandle.php<?phpnamespace app;use manydads\exception\BaseException;use manydads\jwt\exception\JWTException;use manydads\jwt\exception\JWTInvalidArgumentException;use manydads\jwt\exception\TokenAlreadyEexpired;use think\db\exception\Dat

2021-05-11 16:20:28 1856

原创 tp写入Linux定时任务

使用tp6内置console+linux crontab实现定时任务编写脚本文件开头要加 #!/bin/bashconsole代码示例<?php#!/bin/bash/* * author hzbskak * email hzbskak@gmail.com * date 2021/4/12 */namespace xxx\command\crontab;use PhpAmqpLib\Exchange\AMQPExchangeType;use PhpAmqpLib\

2021-05-11 16:06:07 229

原创 tp使用Rabbitmq实例-延时重发队列

Tp6操作Rabbitmq实例 直连模式 directwin本地安装官网下载 erlang和rabbitmqrabbitmq下载地址erlang下载地址启动rabbitmq进入rabbitmq控制台控制台链接composer 安装amqp类库composer requirer php-amqplib/php-amqplib整合rabbitmq代码<?phpdeclare(strict_types=1);namespace xxx\rabbitmq;use Erro

2021-05-11 15:53:01 484

原创 tp使用Rabbitmq实例-即时队列

Tp6操作Rabbitmq实例 直连模式 directwin本地安装官网下载 erlang和rabbitmqrabbitmq下载地址erlang下载地址启动rabbitmq进入rabbitmq控制台控制台链接composer 安装amqp类库composer requirer php-amqplib/php-amqplib整合rabbitmq代码<?phpdeclare(strict_types=1);namespace xxx\rabbitmq;use Erro

2021-05-11 15:40:15 500

转载 (转载)PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)

转自用户YuiJar 先附上我开始做沙箱测试的时候写的笔记(1)准备工作1、蚂蚁金服开放平台的商户账号(个人账号不行)2、php5.5以上的开发环境(2)具体流程1...

2020-01-06 10:44:20 169

原创 PHP 导入导出excel、csv百万数据到数据库

PHP 导入导出excel、csv百万数据到数据库待解决:wamp下导入导出百万数据没有问题lamp下导入10W条数据没问题,导入50W及以上会出现nginx504报错代码包地址测试数据表地址表中有大概110W+条数据,下载时可能会慢一些下载完成后,导入到数据库中,然后用Navicat修改表为MYISAM类型,把触发器删除掉即可环境WAMP和LAMPPHP版本: 7.3目...

2020-01-02 13:00:56 2015

原创 PHP 生成二维码 返回前端并展示(附源码)

<?php // 查询推荐码 $sql = "select * from " . $ecs->table( 'users') . ' where user_id = ' . $user_id; $referral_code = $db->getAll( $sql)[0]['referral_code']; //引入phpqrcode库文件 ...

2019-12-27 12:20:33 495

原创 PHP微博授权第三方登录(附源码)

在微博开发平台申请:微博开发平台本次使用的账号:1318*选择网站接入:点击立即接入:输入应用名称并选择分类,点击创建:按要求填写内容:全部按要求填好点击申请即可开始开发下面开始就用已经申请好的应用来进行操作需要用到的几个参数有:App KeyApp Secret回调地址使用GITHUB下载PHPSDK:PHP SDK 地址打开config.php配置文件...

2019-12-27 11:46:36 558

原创 php(TP5)+redis实现秒杀抢购(限制用户购买次数)(附源码)

限制用户购买次数最下方有所有代码包和数据库说明:本次环境测试在Linux下运行使用的环境、版本、工具环境:lnmp + redis缓存。版本:Centos 7、nginx 1.7.4、mysql 5.8、 php 7.3nts、 redis 5.0.6工具:ab压力测试工具安装ThinkPHP5.0的最新版本安装Redis缓存安装LNMPYum安装mysql5.8Yum安装...

2019-12-26 16:45:25 2384 2

原创 php(TP5)+redis实现秒杀抢购(不限制用户购买次数和限制用户购买次数)(附源码)

分为不限制用户购买次数和限制用户购买次数最下方有所有代码包和数据库说明:本次环境测试在Linux下运行使用的环境、版本、工具环境:lnmp + redis缓存。版本:Centos 7、nginx 1.7.4、mysql 5.8、 php 7.3nts、 redis 5.0.6工具:ab压力测试工具安装ThinkPHP5.0的最新版本安装Redis缓存安装LNMPYum安装my...

2019-12-26 16:22:06 995

原创 使用PHPMailer扩展类库发送邮件(附源码)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-12-25 15:18:50 818

laravel+gatewayworker(workerman)+vue实现用户聊天功能代码

详细教程请移步https://blog.csdn.net/hzbskak/article/details/117752958?spm=1001.2014.3001.5501

2021-06-11

php(TP5)+redis实现秒杀抢购(不限制用户购买次数和限制用户购买次数)

php(TP5)+redis实现秒杀抢购(不限制用户购买次数和限制用户购买次数)

2019-12-26

空空如也

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

TA关注的人

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