- 博客(92)
- 资源 (7)
- 收藏
- 关注
原创 ubuntu系统安装的MySql数据库,远程不能访问问题解决
安装MySQL数据库后一般会遇到远程计算机不能连接的问题,具体问题需要我们排查。1.MySql数据库是否提供了外部访问的用户以及权限2.MySql的配置文件是否只绑定了本机ip(ubuntu下:/etc/mysql/mysql.conf.d/mysqld.cnf)需要注释3.操作系统的防火墙是否关闭或者不允许外部访问3306端口...
2021-05-25 16:28:27 724
原创 VMware16虚拟机可与Win10物理机互ping并可访问互联网
一、系统环境:VMware workstation 16、Windows 10 、linux 虚拟机主机IP:192.168.50.119linux: 192.168.137.3二、具体步骤:1.首先确定主机的网路连接如下图2、打开VMware,编辑-虚拟网络编辑器-点击右下角“更改设置”之后,如图操作:NAT设置如下保存退出。3、Win10物理机,设置“VMware Network Adapter VMnet8”静态IPv4地址:4、linux虚拟机,设置静态IPv4:至
2021-05-25 15:45:14 1031
原创 mysql 去除重复数据只保留最新/最大id的一条
数据如下想去重name值并且保留ID最大的记录//查询 查看是否是需要删除的记录SELECT *FROM test where id not in ( SELECT id from (SELECT MAX(id) id FROM test GROUP BY name) a);//删除对应的记录DELETE FROM test where id not in ( SELECT id from (SELECT MAX(id) id FROM test GROUP BY name)
2021-04-02 08:51:33 7257 2
原创 如何判断微信付款码和支付宝付款码
微信付款码:用户付款码条形码规则:18位纯数字,以10、11、12、13、14、15开头文档链接:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=5_1支付宝付款码:由于业务发展需要,支付宝在2017年9月底对支付宝的用户付款码做升级处理。 付款码将由原来的28开头扩充到25-30开头, 长度由原来的16-18位扩充到16-24位 。未来随移动支付产业的发展,用户付款码可能会有所加长,建议开发者做好设计预留工作。文档链接:ht
2021-03-29 14:09:34 4045 3
原创 laravel 队列、事件系统、Eloquent 模型事件、广播系统、任务调度
队列 异步执行1.建立job(app/Jobs/)在controller里面使用dispatch分发任务2.事件 解耦代码1.建立事件(app/Events/)和监听器(app/Listeners/)2.事件的观察者(app/Observers/)可以放入队列Eloquent 模型事件retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored可用观察者统一管理 在
2021-03-05 09:11:40 481 2
原创 laravel6 任务调度
任务调度新建队列任务修改app/Console/kernel.php启动调度器新建队列任务php artisan make:job SendSms<?phpnamespace App\Jobs;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Illuminate\Queue\Interacts
2021-03-04 16:22:43 207 6
原创 laravel6 基于 Redis 实现广播系统下(私有频道)
启动websocket服务端npm run watchlaravel-echo-server start 私有频道注意事项一定要看注释掉 config/database.php 中 redis.options.prefix'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ 'cluster' => env('REDIS
2021-03-03 16:00:50 765 4
原创 laravel6 基于 Redis 实现广播系统上(公共频道)
环境:win7redis 3.0.5.4laravle 6node.js v12.16.2“predis/predis”: “^1.1”配置1.在config\app.php文件中取消注释 App\Providers\BroadcastServiceProvider::class,修改.env文件BROADCAST_DRIVER=redis2.安装laravel-echo和laravel-echo-servernpm install --save socket.io-client
2021-02-24 16:56:20 353 5
原创 linux 中 > >> 2>&1 /dev/null
先说明下: /dev/null 表示空设备文件0 表示stdin标准输入1 表示stdout标准输出2 表示stderr标准错误1. “>”“>” 直接把内容生成到指定文件,会覆盖源文件中的内容,还有一种用途是直接生成一个空白文件2. “>>”“>>” 尾部追加,不会覆盖掉文件中原有的内容3. “2>&1”command>/dev/null 2>&1 等于 command 1>/dev/null 2>&a
2021-02-22 10:22:58 521 1
原创 git 本地与远程仓库出现代码冲突解决方法
1.将远程仓库代码拉取到本地作为本地的一个新的分支 testbranchgit fetch origin master:testbranch2.将testbranch分支与本地主分支比较git diff testbranch3.将新的testbranch分支与本地主分支合并,并解决冲突的文件git merge testbranch4.重新提交本地主分支到远程仓库git push -u origin master5.删除这个新的分支 git branch -d testbranch
2021-02-18 08:46:57 727 1
原创 php支付宝2.0电脑支付异步回调验签失败坑
支付宝返回数据有问题,一个反斜杠:'fund_bill_list' => '[{\\"amount\\":\\"0.01\\",\\"fundChannel\\":\\"ALIPAYACCOUNT\\"}]'正确的应该是'fund_bill_list' => '[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]'解决办法$arr=$_POST;//新增下面代码$arr['fund_bill_list'] = str
2021-01-07 17:46:07 684 1
原创 laravel8+rabbitmq队列
1.Composer 安装 laravel-queue-rabbitmq下图是laravel和rabbitmq版本对应composer require vladimir-yuldashev/laravel-queue-rabbitmq 11.12.在 config/queue.php 配置文件中的 connections 数组中加入以下配置'connections' => [ // ... 'rabbitmq' => [ 'driver'
2021-01-03 16:35:09 2000 4
原创 git 命令
账号github : 账号:38**5@qq.com 用户名:li配置git config --global user.name ‘li****’git config --global user.email ‘38******5@qq.com’本地仓库进入对应的目录执行git init . #初始化本地仓库git add . #每次更新都要add,添加到本地缓存区git status #查看提交状态git commit –m “xxx” #添加到本地仓库远程提交生成公钥密钥
2021-01-03 11:18:44 160 1
原创 git cherry-pick合并某一个或一些版本到某一个分支
1.命令git cherry-pick 2.提交主分支master,另外还有个开发dev,想增加一个dev版本中的功能到master中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交.#切换到mastergit checkout master#git cherry-pick 47690cc5c # 47690cc5c,是dev中的版本如果顺利,就会正常提交。结果:如果在cherry-pick 的过程中出现了冲突就跟普通的冲突一样,手工解决合并冲
2020-12-31 11:15:21 589 1
原创 git分支
branch_name 代表分支名称可以替换成自己的1.创建分支git branch branch_name2.查看本地分支:git branch名称前面加* 号的是当前的分支3.查看所有分支(本地和远程):git branch -a4.切换分支git checkout branch_name5.删除本地分支git branch -d branch_name6.删除远程分支git branch -r -d origin/branch-name #推送到远程主机git
2020-12-31 09:09:27 122 1
原创 centos7安装php的amqp扩展
1.更新pecl#更新peclpecl channel-update pecl.php.net2.安装librabbitmq下载地址:https://github.com/alanxz/rabbitmq-c/releases我这里是rabbitmq-c-0.10.0.tar.gz#解压tar -zxvf rabbitmq-c-0.10.0.tar.gzcd rabbitmq-c-0.10.0#这一步是在rabbitmq-c的根目录下创建一个build子目录mkdir build &a
2020-12-30 17:02:51 464 1
原创 rabbitmq工作模式
1.简单模式一个队列中只有一个生产者(producer)一个消费者(consumer)2.工作模式多个消费者(consumer)监听同一个队列,这个队列只有一个生产者(producer)A服务修改A库后加入队列,B/C服务只需要其中一个修改B库即可3.订阅模式有多个消息队列,每个消息队列有一个消费者(consumer)监听4.路由模式一个交换机绑定多个消息队列,每个消息队列都有自己唯一的key,每个消息队列有一个消费者(consumer)监听...
2020-12-30 15:40:57 251 1
原创 centos7安装rabbitmq
1.erlang安装1.1 安装依赖环境C++编译yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson wxWidgets-devel wxBase fop.noarch java java-develcd /usr/bin/ln -s wx-config-3.0 wx-config1.2 erlang
2020-12-30 13:45:34 248 1
原创 搭建高性能laravel8+swoole+rabbitmq消息队列+redis集群+mysql主从读写分离
1.登陆服务器环境:php:7.3.11composer:2.0.8mysql:5.7.27redis:5.0.5swoole:切换composer镜像地址composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/composer升级到2.0composer selfupdate -vvvcomposer -V2.安装laravelcomposer create-project
2020-12-28 15:51:49 1332 1
原创 laravel8+tymon/jwt-auth搭建api系统
这里写目录标题一、服务器环境:二、安装1.安装laravel2.nginx开启伪静态3.安装 Dingo、predis、JWT4.配置文件 config/app.php5. 发布 Dingo 和 JWT 的配置文件1)发布配置文件2)修改配置文件3)修改 config/auth.php 配置文件6. 在 .env 中写入 Dingo 配置7.新增phone字段1)修改database/migrations/da2014_10_12_000000_create_users_table.php2)修改 Mode
2020-12-28 15:42:41 5827 16
原创 PHP单例模式
ini_set('display_errors','On');error_reporting(E_ALL);ini_set('display_errors','On');error_reporting(E_ALL);class singe { protected static $instance = null; //方法前加final 方法不能被覆盖 类前加final不能被继承 final public static function getInstance()
2020-12-23 08:41:39 106 2
原创 php对象中self()和static()区别
self(): 返回此方法定义的类的实例static(): 返回调用的类的实例(可以是子类)<?phpclass A { public static function getSelf() { return new self(); } public static function getStatic() { return new static(); }}class B extends A {}echo get_class(
2020-12-23 08:21:08 235 3
原创 mysql用insert插入多条记录
INSERT INTO test (code, describe)VALUES( 10500, ‘服务器错误’ ),( 10404, ‘404错误’ );
2020-12-15 14:58:35 216 1
原创 php高并发优化
1.防盗链2.减少HTTP请求3.浏览器压缩缓存技术4.页面静态化5.图片服务器6.cdn7.redis缓存8.MySQL优化9.负载均衡
2020-12-12 17:18:18 152 1
原创 redis集群配置、扩容、缩容、启动、关闭
cluster部署用来生成cluster节点配置文件的脚本:#!/bin/sh#create redis cluster conf#/www/sh/new-cluster-conf.sh#接收两个参数,一是起始端口,二是结尾端口,代表生成这区间内每个端口的配置文件p1=$1p2=$2for((p=p1;p<=p2;p++))doconf="/www/server/redis/cluster-${p}.conf"echo "port ${p}" > ${conf}ec
2020-12-12 14:59:46 383 1
原创 mysql5.7主从复制、读写分离的配置/启动/关闭
环境主master : 192.168.0.10从slave : 192.168.0.111.授权给从数据库服务器GRANT REPLICATION SLAVE ON *.* to 'test'@'192.168.8.11' identified by 'test123456';FLUSH PRIVILEGES;2.修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效修改my.cnf配置文件,在[mysqld]下面添加下面内容
2020-12-12 09:43:42 862 2
原创 redis主从哨兵模式配置、启动、关闭
查看redis进程ps -ef|grep redis找到redis.conf 位置 9486为进程IDls -l /proc/9486/cwd主从哨兵模式slave redis输入SLAVEOF 127.0.0.1 6379编辑sentinel.conf然后启动哨兵模式#sentinel monitor <master-name> <ip> <redis-port> <quorum>sentinel monitor host6379
2020-12-12 08:46:35 7791 6
原创 mysql数据库所有表名及所有表的字段写入表中
INSERT INTO starapi.xh_table ( test.table.`name`, test.table.`describe` ) SELECTTABLE_NAME,TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'test';
2020-12-01 17:05:05 354
原创 MySQL trace分析Sql
查看优化器状态show variables like 'optimizer_trace';会话级别临时开启 set session optimizer_trace="enabled=on",end_markers_in_json=on;设置优化器追踪的内存大小set OPTIMIZER_TRACE_MAX_MEM_SIZE=1000000;执行自己的SQLselect * from user;information_schema.optimizer_trace表SELECT tra
2020-11-28 09:24:47 327
原创 redis中keys和scan
redis中keys和scan的区别相同点:都是用来返回key的,但是使用场景和方法不同。一、 keysKEYS pattern示例:keys *keys user:*缺点:在redis拥有数百万及以上的keys的时候,如果数据量很大将会等待很久,会执行的比较慢,更为致命的是,这个命令会阻塞redis多路复用的io主线程,如果这个线程阻塞,在此执行之间其他的发送向redis服务端的命令,都会阻塞,从而引发一系列级联反应,导致瞬间响应卡顿,从而引发超时等问题,所以应该在生产环境禁止用使
2020-11-17 15:43:00 928
原创 laravel 页面静态化
修改config/filesystems.php 增加在disks下增加static_view需要创建 public/storage/static_view 到 storage/app/public/static_view 的符号链接'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ],
2020-11-17 09:13:15 1732
原创 PHP五种基本算法-冒泡排序/选择排序/插入排序/快速排序/归并排序
冒泡排序$arr = range(1,20);shuffle($arr);//冒泡排序startfunction bubbleSort($arr) { $len = count($arr); for ($i=1;$i<$len;$i++) { for ($j=0;$j<$len-$i;$j++) { if($arr[$j] > $arr[$j+1]) { $temp = $arr[$j];.
2020-11-12 15:09:26 143 2
原创 mysql查询优化
查询慢的原因开启慢查询日志 用pt-query-digest 工具分析show profileset profiling = 1show profiles;show profile for query ID;show status; show globol status;show processlist 显示explain / desc 分析单挑sql
2020-11-09 11:03:45 104
原创 php创建文件、文件目录、循环删除文件及文件目录
<?phpmkdir('./test');$filename = "./test/test.txt";$fp1 = fopen($filename, 'w+'); //打开文件指针,创建文件if (!is_writable($filename)) { die("文件:" . $filename . "不可写,请检查!");} else { fwrite($fp1, $filename);}fclose($fp1);mkdir('./test/test1');$file
2020-11-07 14:28:34 324 1
原创 抓包工具Wireshark npcap
下载npcap官网:https://nmap.org/npcap/ 下载npcap-1.00.exe并安装下载wireshark官网:https://www.wireshark.org/ 下载Wireshark-win64-3.4.0.exe并安装选取一个进行数据包分析结果如图:
2020-10-31 10:18:51 5100 2
tesseract-ocr4.0安装包和中文语言包
2019-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人