- 博客(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 459
原创 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 2312 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 973 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 471 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 473
原创 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 66
原创 记一次PHP在多进程下批量插入mysql的异常
因公司业务发展,建立了数百个微信群,每个群有若干群成员,群成员信息保存在第三方托管平台。现在因业务需求,需要将所有群成员通过第三方提供的接口保存到自己系统(每次请求只能获取一个群的群成员),如果以单进程处理,需要耗费大量时间,所以使用php的pnctl_fork 创建若干个子进程,然后循环批量获取群成员。代码如下(laravel框架): $group = DB::table('wgj_test_2')->get()->toArray(); $data = array_chu
2021-01-18 15:56:17 284
原创 通过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 581 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 640
转载 4种PHP异步执行的常用方式
有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回给客户端。但因为php是同步执行的,所以客户端需要等待服务处理完才可以进行下一步。因此对于耗时的操作适合异步执行,服务器接收到请求后,处理完客户端需要的数据就返回,再异步在服务器执行耗时的操作。1、使用Ajax 与 img 标记原理,服务器返回的html中插入Ajax 代码或 img 标记,img的src为需要执行的程序。优点:实现简单,服务端无需执行任何调用缺点:在执行期间,浏览器会一直处于loading状态,因此这种方法并不算真正的异步
2020-10-16 15:26:20 423 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 730
转载 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 194
转载 深入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 440
转载 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 286
原创 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 215
转载 MYSQL锁机制理解
锁是计算机协调多个进程或线程并发访问某一资源的机制。一、MySQL 锁概述MySQL 两种锁特性归纳 :表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率最低,并发度也最高。MySQL 不同的存储引擎支持不同的锁机制。myisam 和 memory 存储引擎采用的是 表级锁;innodb 存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。表级锁更适合于以查询为主,只有少量按索引条件更
2020-07-02 17:00:08 136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人