rabbitmq php ack
RabbitMQ
RabbitMQ入门 1、什么是MQ 消息队列(Message Queue),是基础数据结构中 “先进先出” 的一种数据结构。 一般用来解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。 2、MQ的作用 1、流量消峰 当有一家商店,最多可以访问100人访问,这时人流 ......
PHP代码审计
杂 phps,可能可查看该php文件源码 index.php.bak:index.php文件备份名 php7.1+:类型不敏感,反序列化public属性可以直接赋给private _GET $_GET看成一个键值对数组(关联数组) $_GET == array(‘id’=>1,‘name’=>‘xi ......
ThinkPHP5.0 apache服务器配置URL重写,index.php去除
本地环境wamp .htaccess文件代码 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond % ......
SpringBoot集成多个RabbitMq(多个MQ链接)
##2023年12月16日 20:25:36 项目中使用RabbitMQ作为应用间信息互通,本次梳理下关于MQ的使用。 1、引入依赖 <!-- 引入依赖,使用v2.5.6版本 --> <dependencies> <dependency> <groupId>org.springframework.b ......
十几个冷门还好用的PHP写法(冷门的让人震惊)
环境:PHP8.1 1. else foreach/else for //012 if(false) { } else for($i = 0; $i < 3; $i++) { echo $i; } //012 if(false) { } else foreach([0, 1, 2] as $v) { ......
PHP复用CURL简单文件上传的2种方法
方法一:curlFile 客户端 $filePath = 'head.txt'; // 创建 CURLFile 对象 $file = new CURLFile($filePath); // 创建 cURL 资源 $ch = curl_init(); // 设置 cURL 选项 curl_setopt ......
记录rabbitMQ的广播队列的错误使用导致未能正确广播的问题
背景说明: 有3个服务S1、S2、S3 现在服务S1需要发布消息到广播交换机E,并建立了两个普通队列Q1,Q2,将其绑定到广播交换机E上 服务S2和服务S3同时监听队列Q1,Q2 本意是,服务S1通过广播交换机E把消息同时推送给服务S2和S3 后面测试时,同事发现,服务S2和服务S3都只接收到了部分 ......
手动安装LAMP——在 CentOS 7 上安装 PHP、Apache 和 MariaDB(替代 MySQL)
在 CentOS 7 上安装 PHP、Apache 和 MariaDB(替代 MySQL)的过程如下: 1. 更新系统:sudo yum update 2. 安装 Apache:sudo yum install httpd 3. 启动 Apache 服务并设置开机自启:sudo systemctl ......
php tp框架 自定义日志
调用方法 $file_log = [ 'order_id' => 123, ]; (new Logs('log'))->infos('日志文案', $file_log); [2023-12-14 15:24:13] [INFO] [log] {"msg":"日志文案","params":{"orde ......
php深化学习(二)
为了提高一定效率,我需要一些工具的工具 比如composer,vscode,phpstudy,宝塔控制面板 composer:是php 专门管理包工具。安装看https://docs.phpcomposer.com/00-intro.html教程就行。 composer 不光是管理工具,还能自动构建 ......
RabbitMQ介绍
一、RabbitMQ介绍 1.1 现存问题 服务调用:两个服务调用时,我们可以通过传统的HTTP方式,让服务A直接去调用服务B的接口,但是这种方式是同步的方式,虽然可以采用SpringBoot提供的@Async注解实现异步调用,但是这种方式无法确保请求一定回访问到服务B的接口。那如何保证服务A的请求 ......
laravel php 50W数据导出excel 分批分页导出
文章目录 需求 问题 解决 需求 导出50W左右的数据导excel表 问题 使用phpexcel等插件,碰到数据量大很慢,可能能花半个小时以上 数据量大查询慢 内存不足 执行超时 解决 使用原生csv导出 设置脚本超时和内存,进行加大内存,不限制超时时间 进行分页查询 public function ......
php 16个魔术方法
16个方法的简单介绍 __construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的 ......
php底层代码执行流程
PHP 在底层(C 语言层面)的代码执行流程可以大致分为以下几个步骤: 解析器初始化:当 PHP 服务启动时,会调用解析器(Zend Engine)的初始化函数进行初始化,包括各种全局变量的初始化,内存池的初始化。 文件读取和解析:解析器会读取并解析 PHP 文件,将其转换为语法树,并将其中的函数和 ......
PHP连接SQLSERVER及中文乱码问题
PHP连接SQLSERVER 1、PHP 5.3及以后版本不再支持mssql模块,应使用SQLSRV或PDO_SQLSRV; 2、下载 PHP 驱动程序。 http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 内含Windows平台各种版本扩 ......
apache 项目的php配置文件
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/www/wwwroot/api.com" ServerName api.com ServerAlias api.com #errorDocument 404 /40 ......
PHP高级面试题-2
1、什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。 2、SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明? A、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请 ......
PHP高级面试题-1
1、谈谈你在写sql语句需要注意有哪些点? 答: select * 问题,客户端需要什么,就给什么,不要给多余的字段,这种情况可能还会导致本来可以走覆盖索引的语句不能走覆盖索引。不要在查询语句字段上做函数运算,这样会让索引失效。一定要避免mysql自动类型转换,比如 where ‘9’ =9。能不设 ......
CodeIgniter3.chm 打包编译 需要 hhc.exe - php框架
电子书地址 https://github.com/CodeIgniter-Chinese/rapid-php-application-development hhc.exe 下载 组件 HTML Help Workshop hhc.exe 下载地址:https://www.helpandmanual ......
php获取详细访客信息,获取访客IP,IP归属地,访问时间,操作系统,浏览器,移动端/PC端,环境语言,访问URL等信息
问题描述:需要获取访客访问网站信息 1.代码示例与说明: <?php header("Content-Type: text/html; charset=utf-8"); //代码中涉及字符串处理,为防止汉字乱码需加编码说明 function chinesesubstr($str,$start,$le ......
RabbitMQ
简介 作用 流量消峰:相当于等待队列。 应用解耦:当子系统出现故障,该系统的要处理的信息被缓存在消息队列中,待修复完成后即可恢复。 异步处理。 四大核心概念 生产者:产生数据发送消息的程序。 交换机:一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。 队列:队列是RabbitMQ内部使用的 ......
PHP 异常与错误 —— Throwable
Throwable 官方文档地址: http://php.net/manual/en/class.throwable.php PHP 支持版本: 7 Throwable 是 PHP 7 中可以用作任何对象抛出声明的基本接口,包括 Expection (异常)和 Error (错误)。 Throwab ......
php.ini文件与php.d
`php.ini` 是 PHP 的主要配置文件,用于全局配置 PHP 的行为和功能。它包含了许多 PHP 的核心设置,如内存限制、错误报告级别、扩展加载等。 `php.ini` 文件通常位于 PHP 的安装目录下。而 `php.d` 文件夹中的配置文件是用于对特定的 PHP 扩展或模块进行个别配置的 ......
2023年的PHP项目部署笔记。什么?还有人用PHP?
前言 这是我第一次用 PHP 的包管理工具 composer 一开始用 docker 进行部署,但一直出问题,最后还是选择直接在服务器上安装 php-fpm 搭配 nginx 的方案了。 PS:docker方式真的搞得心好累,现在回想起来还心有余悸😢 docker方案 先把我的 docker 方案 ......
记php基本环境WAMP 到Laravel
安装WAMP:下载WAMP时会让你选择浏览器与编辑器,如果你没 选好,比如它用Edge但Edge被你卸载了,那在后面在WAMP软件中打开phpMyAdmin时,就会报错,此时你只需要修改WAMP配置的配置文件指向你电脑上可用的浏览器即可。 WAMP启动时:确认数据库3306,80是否占用,如果启用, ......
php 斗地主纯逻辑功能
<?php //是不是单 function isDan($temp) { if (count($temp) != 1) { return false; } else { return '{"type":"dan","value":"'.$temp[0].'"}'; } } //是不是对 functi ......
RabbitMQ-3.12:安装教程详解
安装环境: centOS7操作系统 1.1 什么是MQ MQ即消息队列(Message Queue),是一种用于进行异步通信的技术。它允许应用程序异步地向队列中发送消息,而不需要立即等待接收方处理完毕。MQ将消息缓存在队列中,等待消费者进行处理 1.2 什么是RabbitMQ RabbitMQ是一个 ......
php 随机class和 僵尸元素的实现
1.参考自己的文章 php中preg_replace_callback函数同一个正则,替换成不同内容 https://www.cnblogs.com/cn-oldboy/p/17149911.html 2.僵尸元素的实现。 暂无思路 ......
php深化理解(一)
对于很多刚入行的同学来说,对php是一知半解的。正好回顾强化,记录深刻一些。 第一点很多人都会有一个误区,就是觉得自己写个新闻系统(增删查改的例子),用php原生的mysql库或者用mysqli或者pdd(面向对象)拓展。操作起来都挺很吃力。 这点,不说新人,就算,多年过于依赖框架的开发者,现在去写 ......
RabbitMQ消息丢失该如何处理
1. 持久化消息:确保消息被持久化到磁盘,以便在RabbitMQ服务器重启时不会丢失消息。 点击查看代码 ConnectionFactory factory = new ConnectionFactory(); factory.setHost("your-rabbitmq-host"); try ( ......