自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菠菜的专栏

菠菜的专栏

  • 博客(41)
  • 资源 (13)
  • 收藏
  • 关注

原创 MongoDB的UTCDateTime如何使用

MongoDB的UTCDateTime存储的时间是0时区的UTC时间,MongoDB这个数据库是没有时区设置的。建议存储的时候就把时区加上,例如东八区(存储的时间都统一加上8*3600秒),这样Navicat之类的客户端查看数据的时候时间就正常了,PHP程序使用的时候也是直接使用不考虑时区转换。使用MongoDB的UTCDateTime类来存储当前的UTC日期和时间。如果你想把UTCDateTime对象格式化为可读的字符串需要先把UTCDateTime对象转换成PHP的DateTime类。

2024-04-22 18:26:53 273

原创 宝塔面板定时任务重启各种服务

当服务器重启后有可能部分服务没有成功启动这个时候可以用定时任务去检查服务状态,然后对不正常的自动启动就可以。

2023-07-28 10:07:22 1303

原创 nginx网址重写后post数据如何获取

post的时候,参数是存放在message body中传递的,对于内部的url调转,因为是相同的一次请求,所以message body(request body)没变,所以post数据不会丢失。而对于外部跳转,实际上是一次302,即用户在请求了一次,所以第二次就不会post第一次的数据了

2023-02-14 20:53:20 851

原创 mysql 按日期分表用到的sql语句

2 创建表,根据一个母表创建一个 按月的表,并且要带上索引与外键。如果字段不一致 或 表不在一个库里面。3 按前缀查询所有的表。

2023-02-07 12:07:06 368

原创 PHP-Beast 代码加密

PHP-Beas,带php扩展,代码解析速度几乎没有影响。而且解密难度特别高。

2023-01-13 14:17:26 457

原创 Redis Stream +php7 实现消息队列

Redis Stream 是从5.0才有的新数据结构,基础知识参考网址Redis Stream | 菜鸟教程Redis Stream Redis Stream 是 Redis 5.0 版本新增加的数据结构。 Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。 简单来说发布订阅 (pub/sub) 可.

2022-03-25 20:56:38 1772

转载 RabbitMQ+PHP7+amqplib插件实现消息队列

如果你有服务器权限 最好使用php扩展,这样效率高。参考另一篇文章 《RabbitMQ+PHP7扩展模式实现消息队列》https://blog.csdn.net/hangbobo/article/details/123571200https://blog.csdn.net/hangbobo/article/details/123571200如果没有服务器权限只能退而求其次使用插件了原文地址 使用php-amqplib连接rabbitMQ 学习笔记及总结 - snailZED - 博客园在.

2022-03-18 14:27:14 273

原创 RabbitMQ+PHP7扩展模式实现消息队列

windows下 PHP7 安装 扩展amqp先搞清楚自己电脑上php的线程安全phpinfo 下 看Thread Safe 值接下来下载dll文件 地址http://pecl.php.net/package/amqpphp7.2以上的建议使用1.10.2版本PECL :: Package :: amqp 1.10.2 for Windowshttps://pecl.php.net/package/amqp/1.10.2/windows注意php版本 ,X86 和X64 根据自己情况 , ...

2022-03-18 14:19:26 269

原创 win10 右键增加《在此处打开命令窗口》命令

在Windows下如果要在一个目录下执行cmd命令,正常操作需要先打开cmd,如果非系统盘还需要跳转盘符,然后cd 到相应目录,那是一个麻烦呀。其实可以再右键增加一个《在此处打开命令窗口》的命令。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]@="在此处打开命令提示符""Icon"="cmd.exe"[HKEY_CLASSES_ROOT\Directory\shell\O

2022-01-25 09:56:20 455

原创 php7 mongodb 使用(五)$lookup 多表关联

管道操作$lookup 可以把两个表进行关联查询,其效果等于mysql的INNER JOIN 左右两个表必须同时存在的数据。$lookup有两种方式第一种,只能使用一个固定的字段关联表,建议这个字段最好是from表的主键,否则效率会很差。$pipeline[]=['$lookup'=>['from'=>'user_status','localField'=>'user_id','foreignField'=>'_id','as'=>'info']];第二种...

2022-01-17 12:04:56 1182

原创 mysql 存储过程同步数据

接到需求 正式环境数据库db01和测试环境的数据库db02中所有表字段完全一样但是数据行不一致,要求把db01中的数据覆盖到db02,如果数据表的主键一致就db01覆盖db02,不一致的全部保留。实现方法把db01中所有表中数据的主键取出,然后在db02的表中先删除主键对应的数据,然后插入db01的数据。简单的方法实现,但是到了代码层缺不好实现。1表很多,2主键不都是id。3表中的数据行很多。用php获取所有表和对应的主键SELECT a.TABLE_NAME,b.column_name .

2022-01-05 17:59:22 1446

原创 Hyperf安装完成后的基本设置

Centos 安装 Swoole框架Hyperf过程_菠菜的专栏-CSDN博客前文说了安装过程,现在说说一些基本配置。1,启动界面输出了太多无用信息,需要精简config/config.phpreturn [ 'app_name' => env('APP_NAME', 'skeleton'), 'app_env' => env('APP_ENV', 'dev'), 'scan_cacheable' => env('SCAN_CACHEABLE', f.

2021-11-12 09:48:36 2866

原创 php7 mongodb 使用(四)集合的创建删除改名操作

使用的mongodb操作类 请参考以前的文章php7 mongodb 使用(二)原生驱动 增删改查和统计首先 查询集合$m_model= new MongoClass();$cmd=['listCollections' => 1,'nameOnly'=>true];$res=$m_model->query('',$cmd,[],'command');返回当前库下的所有集合。如果是只想获得test前缀的集合$cmd=['listCollections' => 1,'.

2021-10-23 19:25:05 281

原创 阿里云SLS日志服务php的SDK写入缓存问题

最近的项目使用了 阿里云的日志服务,感觉挺好用,SDK接入照着官方sdk里面的DEMO,简单顺利接入。核心代码就个函数。private function getObj($topic='TestTopic'){ //通过使用相同参数调用工厂方法来创建相同的记录器实例 return \Aliyun_Log_LoggerFactory::getLogger(self::$client, $this->project, $this->logstore,env(..

2021-08-17 21:52:33 899

原创 php strtotime函数年月操作异常

strtotime可以很方便的计算 1天前 1周前 1月前 1年前的时间戳。但是月和年的周期是不固定的,使用这个方法会出现异常。例如 计算3月31日的一个月前的时间结果会怎么样echo date("Y-m-d", strtotime("-1 month", strtotime("2017-03-31")));//输出2017-03-03echo date("Y-m-d", strtotime("+1 month", strtotime("2017-08-31")));//输出2017-1.

2021-08-11 22:03:46 297

原创 php7 mongodb 使用(三)原生驱动下聚合操作与管道操作

mongodb 3.2版本才有聚合操作,如果你是用的版本低于3.2,请先升级版本。代码基于php7原生驱动,php5或者mongodb library 类库的,请出门从外面带上门,不送。使用的php操作类 请先查看本文的上一章节 《php7 mongodb 使用(二)原生驱动 增删改查和统计》在上一章节中 我们介绍Command 命令时候使用了一个例子统计一个集合下的数据量 类似mysql 的 count$cmd=["count" => $table,"query" =>$fi...

2021-04-19 22:30:17 437

原创 php7 mongodb 使用(二)原生驱动 增删改查和统计

php7安装mongodb的扩展。宝塔面板环境下php7.3默认安装了pecl扩展包, 安装的php7.4版本是默认不带pecl扩展包的。需要手动安装php版本 < 7的时候yum install php-pear 就可以但是7.4 版本的不行,$ wget http://pear.php.net/go-pear.phar$ php go-pear.phar安排完成后pecl install mongodb 安装扩展最后在php.ini 中添加 extension=mon...

2021-04-17 19:48:02 508

原创 php7 mongodb 使用(一) 识别三种类型

最近的工作和mongodb相关,恶补了各种姿势,踩了了很多坑。一,分清楚三种mongodb1,php5时代的mongodb,标志特征MongoClient()对象。示例$m = new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:27017$db = $m->test; // 获取名称为 "test" 的集合$db->selectdb('test'); //查询集合更多操作 参考网址https://www....

2021-04-17 17:52:12 295

原创 宝塔面板 mongodb 重置密码

使用宝塔面板的mongodb 结果忘记了数据库的密码只能走一遍重置密码的流程1 首先修改authorization: disabled 关闭密码验证, 同时记得把端口也设置为27017, 并重启服务2 ssh操作cd /www/server/mongodb/binmongo> show dbs列出所有db> use mydb> show users 列出所有账户> db.changeUserPassword('myuser','123456') 设...

2021-04-17 14:23:44 554

原创 DataTable的实践3 搜索参数

上一章节我们演示了服务端分页 AJAX参数传递参数,搜索是参数的的一部分,今天我们来详细展示搜索参数先上html代码<div id="sousuo" class="card-header"> <div class="form-group row"> <div class="col-sm-2"> <div class="input-group"> <div class="i.

2021-04-02 20:45:09 609

原创 DataTable的实践2 服务端实现分页与搜索

DataTable 服务器做数据分页,并按搜索条件筛选数据,前端通过ajax和服务端交互数据,每次分页或搜索,都是ajax向服务器请求数据后展示。这种方式适合表数据量持续增长情况.先上前端代码和前端分页相比这里只需要填写表头。下面JS代码function get_lang(){ return { "sProcessing": "处理中...", "sLengthMenu": "每页 _MENU_ 项", "sZeroRecords".

2021-04-02 20:11:54 534 1

原创 DataTable的实践1 前端分页并实现搜索

最近的项目一直在使用DataTable,走了很多弯路,也踩了很多坑,总结经验,方便后来人。官方网址https://datatables.net/中文资源http://datatables.club/DataTable 根据分页方式有两种,第一种方式,从服务器一次性获取全部数据,然后前端DataTable来组织分页和搜索。访问分页和搜索都不再和服务器交互数据,直至当前页面被刷新或重新打开。第二种方式,服务器做数据分页,并按搜索条件筛选数据,前端通过ajax和服务端交互数据,每次分页或搜...

2021-04-02 18:24:13 733

原创 页面输出JSON的格式化数据

系统有一个日志记录用户的访问传参和返回结果像返回结果 是一个json字符,如果不做格式化处理看起来真的很费力github上的项目https://github.com/summerstyle/jsonTreeViewer下载文件后打开html功能很多,很多都是用不到的,先精简一下,去掉多余的功能,代码放到后台很尴尬,js有冲突。无奈只能iframe嵌套页面。嵌套的页面代码很简单<!DOCTYPE html><html><head> .

2021-04-02 17:29:23 546 1

原创 PHPExcel 升级到 PhpSpreadsheet

项目原本php7.2 集成PHPExcel 插件 使用没任何问题但是现在php7.2升级到php7.4。 composer update 的时候总是提示PHPExcel不兼容php7.4最初解决方案是 把vendor/phpoffice 下类似 $array{0} 改成$array[0],改了多处代码后,execl导入导出功能在7.4下勉强能用。但是每次部署新服务器总是这个操作感觉太low,最近时间充裕花了半天时间升级到PhpSpreadsheet,彻底解决埋了这个坑。1,c...

2021-03-20 12:06:05 827

原创 Centos 更换yum源

1下载源网易yum源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo或者阿里云yum源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/CentOS-Base.repo htt.

2021-03-13 19:48:14 85

原创 制作mysql版的ip数据库 代码基于PHP

1,ip数据数来源 纯真点击右下的解压,获得ip数据的txt版本。我们就是要把这个txt文本里的数据逐行导入到数据库2,创建数据表CREATE TABLE `ip_data` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `ipstart` int(10) unsigned NOT NULL COMMENT 'ip开始', `ipend` int(10) unsigned NOT NULL COMMENT 'ip结束', `r

2021-02-05 11:40:55 149

原创 宝塔面板 mongodb设置账号,密码,数据库,并配置远程连接

宝塔面板安装mongo4.0后需要设置账号密码可数据库才能使用安装后authorization: disabled 默认配置时才可以使用这个功能,如果没有admin 需要先手动创建一个admin库,然后在创建一个yourdatabaseSSH终端1、进入mongodb安装目录,下面是宝塔面板的默认目录cd /www/server/mongodb/bin2、进入mongodb环境 并切换到admin数据库mongouse admin3、看看当前有哪些用户...

2021-01-08 20:30:33 7018

原创 GoLand 2020.3 安装过程 设置中文 设置国内软件源 笔记

官网下载地址https://www.jetbrains.com/go/下载最新版 全部默认安装第一进去选择30天免费试用就可以1设置中文截图都是后补的,英文界面请自己对照位置插件中搜索 chinese 安装第二个 中文语言包 就可以了...

2020-12-11 07:17:12 2773 4

原创 Visual Studio Code 设置中文,国内软件源,go插件

官方下载地址https://code.visualstudio.com/下载最新版,默认安装就可以1设置中文ctrl+shift+x 进入安装扩展的界面 搜索 Chinese选择 Chinese (Simplified) Language Pack for Visual Studio Code 这个后 右侧窗口 点击install 就可以了2安装国内源首先开启 Go 的MODULE支持 在DOS中输入 SETX GO111MODULE on Mac 为expo...

2020-12-11 07:08:37 2521

原创 一个简单的唯一令牌实现,彻底防止恶意并发多领奖励的行为。

事情的起因mysql的四种事务的隔离级别,开发时候mysql默认可重复读(repeatable-read)所以使用事务行锁,锁定一行记录,可以实现互斥,并发操作这一行记录的请求最终按顺序排队,避免常见的恶意并发多领奖励。但是合作方的机房DBA,为了可能存现的小概率事件,假如行锁释放出问题,会导致数据库卡死。所以把事务隔离级别调整到,读未提交(read-uncommitted)。这样确实可以避免互斥,大幅度减少数据库卡死的可能性,但是问题也跟着来了。恶意并发多领奖励。场景:支付一个订单,发起10个并

2020-11-23 10:16:47 470

原创 Hyperf如何使用redis

1程序根目录下 .env文件配置redis服务器参数REDIS_HOST=127.0.0.1REDIS_AUTH=(null)REDIS_PORT=6379REDIS_DB=12Controller文件中<?phpdeclare(strict_types=1);/** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wi...

2020-09-30 09:34:49 3168

转载 hyperf 启动、重启、停止、文件变化监听命令包

鉴于 hyperf1.1 + 还没有重启等命令,本地调试比较麻烦,所以使用了 FanchangWang 写的代码封装成了一个包,方便使用。该扩展包完全使用了 FanchangWang 写的代码,非常感谢 FanchangWang,FanchangWang 的 github 地址我是在 hyperf1.2 版本的 pr 查看到的这份代码,应该已经被包含 hyperf1.2 的命令内了,具体请看该 pr 地址拉取包composer require phper666/hyperf-server-com

2020-09-22 19:25:48 6520

原创 Centos 安装 Swoole框架Hyperf过程

这框架是Swoole成员开发的,据说比Swoole性能高。我的系统Centos 7, 宝塔面板, php7.2 已经安装 redis扩展和Swoole扩展。 1 先升级下composer /usr/bin/composer self-updatecomposer安装,任意目录即可运行,不依赖于apache或nginx等服务器。2切换阿里云composer镜像composer config -g repo.packagist composer https://packa...

2020-09-22 17:36:47 1272 1

原创 Redis 交换两个key的值,保证原子性,使用lua脚本实现

Redis 交换两个key的值,保证原子性,管道事务都不符合要求。只能使用lua脚本。简单代码,真实会着不难,难者不会。define('API_PATH', str_replace('\\', '/',dirname(__FILE__)) . '/');require API_PATH.'inc/cls_redis.php'; //引入cls_redis文件$rd_obj = new \redis\cls_redis(3); //初始redis对象 并进入分片$redis=$rd_o

2020-09-17 19:27:21 627

原创 thinkphp5中的cache缓存配置redis实例

application/config.php 中 cache项的设置 'cache' => [ // 驱动方式 'type' => 'complex', // 缓存前缀 'prefix' => 'pre:', // 默认使用的缓存 'default' => [ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' ..

2020-09-17 18:43:33 1208

原创 阿里云 OSS NAS挂载到linux系统目录

官方说明文档参考https://help.aliyun.com/document_detail/32196.htmlhttps://help.aliyun.com/document_detail/153892.html快速安装下载安装包。以下载CentOS 7.0 (x64)版本为例:wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpmCentOS 6.5及以上系统版本的..

2020-09-17 18:30:01 1053

原创 MQTT安装和php使用mosquitto的实例

安装的为mosquitto-1.6.7cd /usr/local/# 下载源代码包wgethttp://mosquitto.org/files/source/mosquitto-1.6.7.tar.gz# 解压tar zxfv mosquitto-1.6.7.tar.gzmv mosquitto-1.6.7 mosquitto# 进入目录cd mosquitto# 编译安装make &&make install可以看到最后几行,说明在/etc/下创...

2020-09-17 17:35:26 1557

原创 对恶意的并发访问进行强制排队按顺序执行

<?phpnamespace lock;class cls_lock{ public $redis = null; public $time = 2; //逻辑锁最长存在时间2秒 public function __construct() { if($this->redis==null){ $this->set_redis(); } } private function set_redis($n=2){ require API_PAT.

2020-09-17 16:24:21 233

原创 一个改进redis操作类,支持多维数组

<?phpnamespace redis;use \Redis as RedisBase;class cls_redis{ public static $redis = null; private static $timeout = 600; /** * 初始化Redis连接 * 所有配置参数在实例化Redis类时加入参数即可 */ public function __construct($db=0) { .

2020-09-16 19:25:30 260

转载 PHP操作Redis的命令大全

//连接本地的 Redis 服务<?php$redis =newRedis();$redis->connect('127.0.0.1',6379);$redis->select(2); //进入2号分片$redis->set("name","Connection to server sucessfully");//设置 redis 字符串数据echo $redis->get("name");// 获取存储的数据并输出?>五种数据类型常用操作/*

2020-09-16 15:01:58 729 1

navicat 16 premium 中文语言包

解压后目录 zh-Hans.lproj 放到Navicat安装目录下的 Resources目录下就可以,这个是我在macos下验证可以使用的,至于win系统能不能用有待验证

2022-06-09

MQTTX.Setup.1.5.2.exe

MQTTX.Setup.1.5.2.exe windows下 mqtt客户端软件

2021-04-02

jsonTreeViewer的精简优化版

jsonTreeViewer是GitHub上的开源项目功能齐全,这个文件是对其精简后的代码

2021-04-02

纯真ip数据库的mysql文件

纯真ip数据库的mysql文件

2021-02-05

appstackadmin

AppStack React Admin&Dashboard模板是一个响应性引导4管理员仪表板,专为希望在最流行的框架Bootstrap&React上运行Web应用的所有人而构建。AppStack React帮助您更快地创建下一个引导。它可以用于创建基于saas的界面、管理员仪表板或任何您想在web上构建的东西。AppStack React帮助您的团队更快地移动并节省开发成本。

2021-01-09

Visual-AMP-v7.0.31-x64.exe

Visual-AMP-v7.0.31-x64.exe

2021-01-09

Visual-NMP-v7.0.31-x64

Visual-NMP-v7.0.31-x64

2021-01-09

GoLand的一个插件

GoLand的一个插件

2020-12-11

phpRedisAdmin-1.13.1 包含composer依赖

phpRedisAdmin-1.13.1 包含composer依赖, php管理redis的图形化界面最好的,没有之一 解压后可以直接使用

2020-11-28

phpRedisAdmin-1.13.1

phpRedisAdmin-1.13.1 这是最新版 图形化管理redis数据工具类似phpmyadmin,使用方法和phpmyadmin一样 特别提醒 解压后需要 composer update

2020-09-16

phpqrcode.php

php生成二维码的扩展库phpqrcode,依赖gd库。php默认是开gd的。在此做个备份。以备以后找不到

2020-09-16

flash链接修改器

不用反编译flash就可以直接修改flash里面的链接

2013-09-04

zend7.1注册码

zend7.1注册码 Username: zendstudio.net Serial Number: 3727234F6095F72034F6095F

2011-01-18

空空如也

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

TA关注的人

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