自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PHP7以上版本操作mongodb

链接mongo$config = array( 'username' => 'admin', 'password' => '123456');// 连接$manager = new \MongoDB\Driver\Manager('mongodb://127.0.0.1:27017',$config); //MongoDB\Driver\WriteConcern::MAJORITY:抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 //1000 标识等

2021-11-23 19:56:17 438

原创 PHP操作Rabbitmq

lumen 框架安装rabbitmq依赖包 composer require php-amqplib/php-amqplib推送消息到队列 $connection = new AMQPStreamConnection('127.0.0.1','5672','admin','admin'); //创建通道 $chan = $connection->channel(); $chan->confirm_select(); // 发布确认模式 //推送成功

2021-11-01 10:10:12 2242 1

原创 PHP使用 xlswriter 高效导出数据

1、安装扩展:参考文档2、php中使用: set_time_limit(0); ini_set('memory_limit','128M'); $data = []; $users = DB::table('crm_all_user')->select('id','unionid','mobile','nickname','avatarurl','city','province','country_code','add_time','source

2021-07-06 17:32:50 842 4

原创 php使用curl发起并发请求

直接上代码: $ch = array(); $res = array(); $conn = array(); $urls = array( 'baidu' => "http://xxcj_admin.com/admin/test2", 'cheyun' => "http://xxcj_admin.com/admin/test2", 'w3c' => "http://x

2021-06-28 16:38:54 452 2

原创 nginx+ffmpeg实现直播推流和拉流

1、安装nginx的rtmp模块 wget https://github.com/arut/nginx-rtmp-module/archive/master.zip unzip master.zip2、重新编译nginx,记得加上rtmp模块 ./configure --add-module=/usr/local/nginx-rtmp-module make make install3、修改nginx配置:在http模块外添加如下配置: rtmp{ server{ lis

2021-06-22 17:02:28 441

原创 PHP标准库实现基于栈的线性表

栈是一种数据结构,只能在一端操作数据,先进后出: $chan = new SplStack(); $chan->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE); $chan->push('a'); $chan->push('b'); $chan->push('c');

2021-05-20 17:51:12 47

原创 记一次PHP在多进程下批量插入mysql的异常

因公司业务发展,建立了数百个微信群,每个群有若干群成员,群成员信息保存在第三方托管平台。现在因业务需求,需要将所有群成员通过第三方提供的接口保存到自己系统(每次请求只能获取一个群的群成员),如果以单进程处理,需要耗费大量时间,所以使用php的pnctl_fork 创建若干个子进程,然后循环批量获取群成员。代码如下(laravel框架): $group = DB::table('wgj_test_2')->get()->toArray(); $data = array_chu

2021-01-18 15:56:17 248

原创 通过nginx配置实现接口的版本路由

随着项目不断迭代升级,功能越来越复杂,需要对接口实行版本管理,下面通过nginx的路由配置实现不同路由访问后端不同的项目。(后台使用的是laravel框架)nginx 配置如下server { listen 80; server_name www.xx_admin.com; index index.html index.htm index.php; #版本1 location ^~ /v1/ { alias D:/workspace/v1/public/;

2021-01-16 17:24:48 537 1

原创 用golang实现jsonrpc服务供php调用

项目做大了,免不了要用到微服务,并且是跨语言的。下面用go自带的 Jsonrpc 实现微服务供php调用。服务端:jsonRpcService.gopackage mainimport ( "fmt" "log" "net" "net/rpc" "net/rpc/jsonrpc" "os")type RpcService struct {}//请求数据结构体type RequestData struct { type int data string}// 响

2020-10-21 17:33:38 600

转载 4种PHP异步执行的常用方式

有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回给客户端。但因为php是同步执行的,所以客户端需要等待服务处理完才可以进行下一步。因此对于耗时的操作适合异步执行,服务器接收到请求后,处理完客户端需要的数据就返回,再异步在服务器执行耗时的操作。1、使用Ajax 与 img 标记原理,服务器返回的html中插入Ajax 代码或 img 标记,img的src为需要执行的程序。优点:实现简单,服务端无需执行任何调用缺点:在执行期间,浏览器会一直处于loading状态,因此这种方法并不算真正的异步

2020-10-16 15:26:20 339 1

转载 linux服务器重启后导致redis数据丢失

直接上解决方案:1.找到 /etc/sysctl.confvim /etc/sysctl.conf2.在最后一行添加vm.overcommit_memory = 13.wq保存,用sysctl -p 使配置生效sysctl -p会返回添加的那一行,说明添加成功。以后linux服务器在重启,redis的数据就不会丢了。...

2020-09-30 10:31:15 703

转载 golang日志 log包

olang日志 log包golang提供了一个简单的日志输出包log,常用用法,已经基本满足日常的日志输出需求1、日志级别有3个,info,fatal,panic2、 日志文件的输出import ( "log" "os")func main() { logFile,err:=os.Create("./log.log") defer logFile.Close() if err !=nil{ log.Fatalln("create file

2020-09-11 14:07:02 175

转载 深入golang中的协程

深入golang中的协程原文的地址为:https://github.com/forthealll…介绍go中的协程之前,首先看以下go中的defer函数,defer函数不是普通的函数,defer函数会在普通函数返回之后执行。defer函数中可以释放函数内部变量、关闭数据库连接等等操作,举例来说:func print(){ fmt.Println(2);}func main() { defer print(); fmt.Println(1);}上述的例子中先输出1后输出2,说明de

2020-07-27 15:22:27 406

转载 GET和POST区别

一. 概述本文的内容源自其他博客的总结,属于笔者的读书笔记,结构如下:HTTP 的请求报文GET 方法的特点POST 方法的特点GET 和 POST 的区别二. HTTP 的请求报文首先我们要解决的第一个问题是:GET 和 POST 是什么?GET 和 POST 其实都是 HTTP 的请求方法。除了这 2 个请求方法之外,HTTP 还有 HEAD、PUT 、DELETE、TRACE、CONNECT、OPTIONS 这 6 个请求方法。所以HTTP 的请求方法共计有 8 种,它们的描述如下所示

2020-07-16 09:13:57 244

原创 linux防火墙与端口

1:放开、关闭端口 firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口 firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口 firewall-cmd --reload # 配置立即生效2、查看防火墙所有开放的端口: firewall-cmd --zone=public --list-ports3.、关闭防

2020-07-03 09:35:45 192

转载 MYSQL锁机制理解

锁是计算机协调多个进程或线程并发访问某一资源的机制。一、MySQL 锁概述MySQL 两种锁特性归纳 :表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率最低,并发度也最高。MySQL 不同的存储引擎支持不同的锁机制。myisam 和 memory 存储引擎采用的是 表级锁;innodb 存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。表级锁更适合于以查询为主,只有少量按索引条件更

2020-07-02 17:00:08 116

空空如也

空空如也

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

TA关注的人

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