php
bushiyao_
这个作者很懒,什么都没留下…
展开
-
RabbitMQ消息丢失问题
生产者推送消息使用消息发送确认Confirm,通过回调的confirmCallback和returnCallback来控制消息的一致性和处理异常补推情况;消息队列存储使用持久化存储,队列交换机创建时durable属性设置为true,消息投递模式deliverymode设置为2,标记消息持久化;消费者使用手动确认消息模式,在消息处理完成后手动确认通知服务器消息完成;MQ会出现多名消费不均匀分发任务情况;...原创 2022-07-29 10:45:40 · 630 阅读 · 0 评论 -
php 加解密处理openssl_decrypt
基础定义openssl_encrypt# 以指定的方式和 key 加密数据,返回原始或 base64 编码后的字符串openssl_encrypt( string $data, string $cipher_algo, string $passphrase, int $options = 0, string $iv = "", string &$tag = null, string $aad = "", int $tag_leng原创 2021-07-29 15:32:41 · 7424 阅读 · 0 评论 -
postgres设置自增
postgres设置自增postgres 自增需要先进行创建自增序列,指定自增值,最小值,最大值:CREATE SEQUENCE "public"."tt_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;设置序列所有者:ALTER TABLE "public"."tt_id_seq" OWNER TO "postgres";设置自增从1开始:SELECT setval('"public"."t原创 2021-03-30 14:41:47 · 1166 阅读 · 0 评论 -
钉钉自定义预警接入-php
钉钉自定义预警接入-php业务场景企业内部数据异常预警频率限制每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟。机器人添加需要在PC端后台添加机器人,设定安全设置: IP段限制,关键字限制,签名限制代码测试1、IP段限制直接针对IP接口限制,代码里面没有标识<?php function request_by_curl($remote_server, $post_string) { $ch = curl_init(); curl_setopt原创 2021-03-16 11:15:31 · 471 阅读 · 2 评论 -
redis哨兵测试
redis哨兵测试<?php//初始化redis对象$redis = new Redis();//连接sentinel服务 host为ip,port为端口$redis->connect('127.0.0.1', '26382');//可能用到的部分命令,其他可以去官方文档查看//获取主库列表及其状态信息$result = $redis->rawCommand('SENTINEL', 'masters');$master_name = 'mymaster';//原创 2021-02-09 10:00:14 · 1669 阅读 · 0 评论 -
正则处理 -括号的使用
时间处理, 过滤数字中间的特定字符<?PHP$str = "2019-11-21CDT08:43:th-06:00";$a = preg_replace('/(\d*)(CDT|CAT)(\d*)/',"$1 $3", $str);var_dump($a);exit;// 2019-11-21 08:43:th-06:00...原创 2019-12-13 13:41:27 · 317 阅读 · 0 评论 -
Redis 基础
1、 redis是什么redis 是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。2、支持的语言3、redis的应用场景有哪些1、会话缓存(最常用)2、消息队列,比如支付3、活动排行榜或计数4、发布、订阅消息(消息通知)...原创 2018-12-20 11:54:28 · 127 阅读 · 0 评论 -
PHP 优化
优化瓶颈Hoare曾经说过“过早优化是一切不幸的根源”。当你想要让你的网站更快运转的时候,你才应该去做优化的事情。当你要改变你代码之前,你需要做的事是什么原因引起了系统缓慢?你可以通过以下指导和其他方式优化你的php,可能是数据库原因也可能是网路原因!通过优化你的php代码,你能尝试着找出你的系统瓶颈。升级 PHP 版本使用缓存利用缓存模块(如Memcache)或者 Redis 进行缓存处...转载 2018-12-20 12:24:39 · 141 阅读 · 0 评论 -
设计模式 - (五)依赖倒转原则
总结依赖倒转原则, 高层模块不应该依赖底层模块,抽象不应该依赖细节,都应该依赖抽象。针对接口编程,不要对实现编程。里氏替换原则,子类型必须能够替换它们的父类型。只有当子类可以替换父类,软件单位的功能不受影响时,父类才真正被复用,而子类也能够在父类的基础上增加新的行为。由于子类型的可替换性才使得使用父类类型的模块在无需修改的情况下就可以扩展。依赖倒转其实可以说是面向对象设计的标志,...转载 2019-02-28 11:15:17 · 185 阅读 · 0 评论 -
【架构师之路】依赖注入原理---IoC框架
github上一篇比较贴切的举例:https://github.com/android-cn/blog/tree/master/java/dependency-injection1&nbsp;IoC理论的背景 &nbsp;&nbsp;&nbsp; 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系...转载 2018-12-19 22:35:11 · 182 阅读 · 0 评论 -
sublime 常规个人设置
{ "bold_folder_labels": true, "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", "default_line_ending": "unix", "draw_minimap_border": true, "ensure_newline_at_eof_o原创 2017-03-20 11:25:59 · 367 阅读 · 0 评论 -
git Please move or remove them before you can merge.解决
git pull 时 往往会遇到各种各样的问题 ,下面是常遇到的一种状况Updating 7c9e086..936acacerror: The following untracked working tree files would be overwritten by merge:Common/HFHttpRequest/HFHttpRequestParameters.hCom转载 2016-08-31 17:23:31 · 946 阅读 · 0 评论 -
PHP 编码转码
1 获取当前字符串的编码$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));2 将字符编码改为utf-8$str_encode = mb_convert_encoding($str, 'UTF-8', $encode);1 mb_de原创 2016-08-03 12:21:16 · 254 阅读 · 0 评论 -
php 开发负责均衡
过去当运行一个大的web应用时候意味着需要运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。今天,“大型服务器”模式已经过去,取而代之的是大量的小服务器,使用各种各样的负载均衡技术。“更多小服务器”的优势超过过去的“大型服务器”模式体现在两个方面:1. 如果服务器宕机,那么负载均衡系统将停止请求到宕机的服务器,转而分发负载到其转载 2016-06-27 18:16:54 · 355 阅读 · 0 评论 -
phpstom , vagrant使用简要说明
编辑器:phpStormhttps://www.jetbrains.com/phpstorm/download优雅使用phpStorm工具:https://lattecake.com/post/20075设置:(统一字符集与代码规范)Editor -> File Encodings -> (都选择utf-8)Editor -> Code Style -> PHP ...原创 2018-12-18 10:18:51 · 262 阅读 · 0 评论 -
设计模式 - (一) 简单工厂模式
简单工厂模式&lt;?php /** * Operation */class Operation{ protected $a = 0; protected $b = 0; public function setA($a) { $this-&gt;a = $a; } public function setB($b...转载 2019-02-28 10:55:12 · 110 阅读 · 0 评论 -
设计模式 -(二)策略模式
策略模式<?php /*** abstract class*/abstract class Strategy{ // 算法方法 abstract public function AlgorithmInterface(); }/*** 算法a*/class ConcreteStrategyA extends Strategy{ publ...转载 2019-02-28 11:00:10 · 149 阅读 · 0 评论 -
XHProf 测试php性能扩展
简述XHProf是facebook 开发的一个测试php性能的扩展,可使用XHProf对PHP进行性能优化,查找性能瓶颈的方法。安装$ wget http://pecl.php.net/get/xhprof-0.9.4.tgz$ tar -zxvf xhprof-0.9.4.tgz $ cd xhprof-0.9.4$ cd extension/$ phpize$ ./config...原创 2019-06-25 09:52:54 · 180 阅读 · 0 评论 -
php7 安装event扩展
功能高并发时,可以能有效的支持前置event 扩展环境要求 php >= 5.4event 扩展依赖 libevent 库安装 libevent 库安装 event 扩展注意: event 扩展编译时需要添加php-config 和 libevent库最后在 php.ini 文件中添加 extension=event.so重启php-fpm , 用 php -m ...原创 2019-05-20 19:51:56 · 367 阅读 · 0 评论 -
php 安装 swoole扩展
说明:swoole只能用在LInux,macos系统上,不能用作Windows系统上2.0.12版本开始不再支持PHP5编译安装适用于php5.3以上版本centOS中:在此网站http://pecl.php.net/package/swoole选择合适的版本,我用的是1.10.5#wget http://pecl.php.net/get/swoole-1.10.5.tgz#ta...原创 2019-05-09 15:37:37 · 345 阅读 · 0 评论 -
sublime作为markdown编辑器
插件可以选择Markdown Preview或MarkdownLivePreview.Markdown Preview这个插件不能实时预览,但你可以设置快捷键让它在浏览器中预览,在首选项->快捷键设置里添加 { "keys": ["alt+m"], "command": "markdown_preview", "args": {"target": "browser", "parse...原创 2019-04-08 09:42:58 · 152 阅读 · 0 评论 -
Aws S3 基础操作
S3 基础知识Amazon Simple Storage Service (Amazon S3) 是一项面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以通过 AWS 管理控制台这一简单直观的 Web 界面来完成这些任务。本指南将向您介绍 Amazon S3 以及如何使用 AWS 管理控制台来完成下图中所示的任务。...原创 2019-03-26 18:48:02 · 4408 阅读 · 0 评论 -
ActiveMQ安装使用
ActiveMQ 简述ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。ActiveMQ 采用消息推送方式,所以最适合的场景是默认消息都可在短时间内被消费。数据量越大,查找和...原创 2019-03-21 18:26:44 · 325 阅读 · 0 评论 -
设计模式 - (四)开放-封闭原则
总结开放-封闭原则, 是说软件实体应该可以扩展,但是不可以修改。怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?无论模块是多么的‘封闭’,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。等到发生变化时立即采取行动。...转载 2019-02-28 11:13:45 · 141 阅读 · 0 评论 -
设计模式 - (三)单一原则
总结单一职责原则, 就一个类而言,应该仅有一个引起 它变化的原因。如果一个类承担的职责过多,就等于把职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破环。软件设计真正要做的许多内容,就是发现职责并把这些职责相互分离。如果你能够想到多于一个的动机改变一个类,那么这个类就具有多于一个类的职责。...转载 2019-02-28 11:11:50 · 204 阅读 · 0 评论 -
php 题目探讨
$a = 1;$b = &$a;$b = "2$b";echo $a;echo $b;结果 : 21 , 21原创 2016-05-17 16:12:32 · 270 阅读 · 0 评论 -
php 页面每隔一秒输出一次时间
while(1){ob_flush(); flush();echo date('Y-m-d H:i:s', time());echo '';sleep(1);}ob_end_flush(); @大史转载 2016-05-12 18:32:57 · 937 阅读 · 0 评论 -
解决整合 UCenter 首次注册同步登录与自动激活
多程序整合 UCenter,在新用户首次注册后是没有同步登录到其它程序的,也就是说用户得在其它程序用密码再登录一次,以后才能同步登录,还有就是用户不是在 Discuz 程序注册的话,在 Discuz 登录时得手动激活,这些都导致用户体验很不好,不过解决方法很简单~修改各个程序目录下的 ./uc_client/model/user.php 文件,大概在 129 行处的 function add_转载 2015-07-14 15:34:42 · 422 阅读 · 0 评论 -
最简单的 php 框架
一个php文件实现单点入口自动加载类模型视图控制器去掉注释只有20行,/***惊世php框架控制器页,*20120219,版本2.0,*实现功能:单点入口,自动加载类,控制器,*类库在class文件夹下,命名方式xxx.class.php,配合mysql数据库连接类、缓存静态文件生成类等其他类库,就是完整的框架*模型在module文件夹下,命名方式xxx.mod.php转载 2015-01-21 14:03:52 · 1084 阅读 · 0 评论 -
PHPer的历练
PHP其实是一种很简单易学的语言.如果要精通PHP多则三年.少则一年就足够了.但是为什么三年之后我们照样是菜鸟?不知道从什么开始.学习PHP我们不得不学习数据库.学习架构.学习面向对象.学习前端.学习linux.学习协议甚至美工等直接导致了现在PHPer都是最累的一种程序员.最累就不算什么了.往往PHP会被认为是下等的程序.拿着最低级的工资.却要掌握web方面几乎全部的知识.这实在转载 2015-01-21 11:47:55 · 417 阅读 · 0 评论 -
如何删除PHP数组中的元素,并且索引重排(unset,array_splice)
如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排:12$arr = array('a','b','c','d');3unset($arr[1]);4print_r($arr);翻译 2014-12-09 13:44:34 · 648 阅读 · 0 评论 -
PHP数组函数: array_walk()与 array_map() 的区别
实际应用中的一点区别与总结:array_walk() 主要用于对某个数组的迭代,相当于 foreach;array_map() 主要是根据某个/某几个数组产生一个新的数组,常应用于递归效果!array_map() 定义和用法array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。转载 2014-12-09 13:48:40 · 849 阅读 · 0 评论 -
PHP通用分页(Pager)类
三种不同展示方式 附上style~1. 效果图12.效果图2 3. 效果图34. 分页类主体001002/**003 * PHP通用分页类004转载 2014-12-09 16:16:28 · 926 阅读 · 0 评论 -
snoopy(强大的PHP采集类) 详细介绍
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,本文章详细介绍snoopy的使用教程。Snoopy的一些特点:抓取网页的内容 fetch抓取网页的文本内容 (去除HTML标签) fetchtext抓取网页的链接,表单 fetchlinks fetchform支持代理主机转载 2014-12-22 15:07:03 · 423 阅读 · 0 评论 -
PHP记住登录状态的安全做法
永久登录指的是在浏览器会话间进行持续验证的机制。换句话说,今天已登录的用户明天依然是处于登录状态,即使在多次访问之间的用户会话过期的情况下也是这样。永久登录的存在降低了你的验证机制的安全性,但它增加了可用性。不是在用户每次访问时麻烦用户进行身份验证,而是提供了记住登录的选择。据我观察,最常见的有缺陷的永久登录方案是将用户名和密码保存在一个cookie中。这样做的诱惑是可以理解的——不需要提原创 2014-12-05 17:19:51 · 500 阅读 · 0 评论 -
php 中的关键字
1、const只能在类的内部使用(5.3.0之后可以在类的外部定义)// 以下代码在 PHP 5.3.0 后可以正常工作const CONSTANT = 'Hello World';echo CONSTANT;//输出: Hello World常量前面没有美元符号($);常量只能用 define() 函数定义,而不能原创 2014-11-27 13:51:51 · 482 阅读 · 0 评论 -
PHP魔术函数、魔术常量、预定义常量
一、魔术函数转载 2014-11-21 15:38:56 · 353 阅读 · 0 评论 -
php 验证码显示大小
在用php生成验证码时,采用最基本的 imagestring 生成的字体为 1 - 5 内置字体,样式太小$width = 50; //先定义图片的长、宽$height = isset($_REQUEST['height']) ? $_REQUEST['height'] : 18;$rand_str = "";for ($i = 0; $i $rand_st原创 2014-11-26 13:37:37 · 616 阅读 · 0 评论 -
php的public、protected、private三种访问控制模式的区别
public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性protected: 受保护类型 在子类中可以通过self::var调用protected方法或属性,parent::metho转载 2014-11-19 09:02:48 · 400 阅读 · 0 评论 -
php 数字对比
// 空、null、false、 字符串在数字对比的时候 会代表 0 // $aa = ''; // $aa = null; $aa = 'asdsadsa'; if($aa == 0){ echo '0'; }else{原创 2015-01-21 15:12:11 · 558 阅读 · 0 评论