![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 60
hangbobo
这个作者很懒,什么都没留下…
展开
-
nginx网址重写后post数据如何获取
post的时候,参数是存放在message body中传递的,对于内部的url调转,因为是相同的一次请求,所以message body(request body)没变,所以post数据不会丢失。而对于外部跳转,实际上是一次302,即用户在请求了一次,所以第二次就不会post第一次的数据了原创 2023-02-14 20:53:20 · 887 阅读 · 0 评论 -
PHP-Beast 代码加密
PHP-Beas,带php扩展,代码解析速度几乎没有影响。而且解密难度特别高。原创 2023-01-13 14:17:26 · 478 阅读 · 0 评论 -
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 · 1797 阅读 · 0 评论 -
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 · 272 阅读 · 0 评论 -
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 · 1481 阅读 · 0 评论 -
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 · 288 阅读 · 0 评论 -
阿里云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 · 913 阅读 · 0 评论 -
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 · 306 阅读 · 0 评论 -
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 · 446 阅读 · 0 评论 -
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 · 530 阅读 · 0 评论 -
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 · 866 阅读 · 0 评论 -
制作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 · 153 阅读 · 0 评论 -
一个简单的唯一令牌实现,彻底防止恶意并发多领奖励的行为。
事情的起因mysql的四种事务的隔离级别,开发时候mysql默认可重复读(repeatable-read)所以使用事务行锁,锁定一行记录,可以实现互斥,并发操作这一行记录的请求最终按顺序排队,避免常见的恶意并发多领奖励。但是合作方的机房DBA,为了可能存现的小概率事件,假如行锁释放出问题,会导致数据库卡死。所以把事务隔离级别调整到,读未提交(read-uncommitted)。这样确实可以避免互斥,大幅度减少数据库卡死的可能性,但是问题也跟着来了。恶意并发多领奖励。场景:支付一个订单,发起10个并原创 2020-11-23 10:16:47 · 476 阅读 · 0 评论