自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 TP6与TP5的异同之处

·目录结构不用·安装方式tp6只能通过composer安装·类的加载方式tp5采用自己的一套实现加载方式+composertp6采用composer类的加载方式·tp6使用严格模式·tp6直接更多的PSR规范(https://learnku.com/docs/psr)·组件独立 (tp6将orm独立出来)(模板引擎)·中间件改进·tp6开始使用了管道模式来实现中间件 比之间的版本实现更加简洁,有序·引入Filesys...

2022-04-02 10:50:11 205

原创 PHP的垃圾回收机制详解

最近由于使用php编写了一个脚本,模拟实现了一个守护进程,因此需要深入理解php中的垃圾回收机制。本文参考了PHP手册。在理解PHP垃圾回收机制(GC)之前,先了解一下变量的存储。php中变量存在于一个zval的变量容器中。结构如下: 类型 值 is_ref refcount zval中,除了存储变量的类型和值之外,还有is_ref字段和refcount字段。is_ref:是个bool值,用来区分变

2021-09-18 17:00:30 567

原创 PHP 中如何正确统计中文字数

PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了strlen,mb_strlen,mb_strwidth这个三个函数去测试统计字符串的长度,看看把中文算成几个字节:echo strlen("你好ABC") . "";# 输出 9echo mb_strlen("你好ABC", 'UTF-8') . "";# 输出 5echo mb_strwidth("你好ABC") . "";#输出 7从上面的测试,我们可以看..

2021-07-30 15:12:40 811

原创 2021-01-11

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY1.原因MySQL 5.7.5和up实现了对功能依赖的检测。如果启用了only_full_group_by SQL模式(在默认情况下是这样),那么MySQL就会拒绝选择列表、条件或顺序列表引用的查询,这些查询将引用组中未命名的非聚合列,而不是在功能上依赖于它们。(在5.7.5之前,MySQL没有

2021-01-11 18:16:33 81

原创 linux 下安装swoole 拓展

一、下载swoole 地址:https://github.com/swoole/swoole-src二、将下载好的压缩包放在linux服务器下三、解压压缩包到任意目录 # unzip swoole-src四、进入解压好的目录 # cd swoole-src五、运行phpize来生成php编译配置 # phpize六、运行编译配置检测命令 # ./configure --with-php-config=/usr/local/php/bin/php-config(php-config的路径)七、ma

2020-06-05 14:33:09 147

原创 jsonp跨域的原理

1. 前言jsonp是一种常用的跨域手段,和反向代理,服务端做跨域处理相比,jsonp更显得方便轻巧,因而被大量用来处理跨域的请求,那么,这种请求方式到底是用了什么黑魔法,来解决令我们头疼的跨域问题。2. 原理jsonp其实并没有用到什么黑魔法,能达到跨域这种效果,无非是利用script标签自身的跨域能力。我们知道,img,script,这种标签如果有相应的src,那么便会发起一个htttp请求来请求相应的资源,如果有script标签对应的路径是一个js文件,那么在下载完毕这个js之后会马上

2020-05-21 16:26:11 2694 1

转载 为什么MySQL数据库索引选择使用B+树?

https://www.runoob.com/redis/redis-data-types.htmllist 出队 rpop 命令

2020-05-06 16:13:03 107

原创 MYSQL授权root远程访问

1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; 2. flush privileges;

2020-04-27 15:02:35 1565

原创 bootstrap 按钮颜色属性有几种

2020-04-27 10:27:27 713

原创 PHP取整,四舍五入取整、向上取整、向下取整、小数截取

PHP取整数函数常用的四种方法:1.直接取整,舍弃小数,保留整数:intval();2.四舍五入取整:round();3.向上取整,有小数就加1:ceil();4.向下取整:floor()。一、intval—对变数转成整数型态intval如果是字符型的会自动转换为0。intval(3.14159); // 3intval(3.64159); // 3intval('ru...

2020-04-27 10:26:29 154

原创 php 正则表达式

一、正则表达式基础内容注:1、通用原子:\d : 数字。 \D : 除了数字。 \w : 数字,字母,下划线。\W : 除了数字,字母,下划线。 \s : 空白符 。 \S : 除了空白符 。2、元字符:. :除了换行以外的所有字符 * : 匹配前面的内容出现 0 次及以上。 ? :匹配前面的内容出现 0 次或 1 次。 + : 出现一次或多次。 ^ :...

2020-01-04 09:55:46 239

原创 (PHP)redis Hash(哈希)和 Set(集合)操作

Hash/** * * Hash操作 * 哈希操作 * 可理解为数据库操作 * *///为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。$redis->hSet('user', 'name', '222');//获取user表中指定字段的值。若user表不存在则返回false。$redis->...

2019-12-31 11:17:59 555 1

原创 如何提高缓存命中率

缓存命中率的介绍命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。由此可见,在高并发的互联网系统中,缓存的命中率是至关重要的指标。如何监控缓存的命...

2019-12-11 17:37:26 131

原创 PHP 所有版本

http://mirrors.sohu.com/php/

2019-12-11 15:22:59 301

原创 nginx 骚操作你知道多少?

世界是由早睡早起的人推动的,清晨的粥比深夜的酒好喝。在Docker环境下的安装下载nginx的docker镜像docker pull nginx:1.10从容器中拷贝nginx配置先运行一次容器(为了拷贝配置文件):docker run -p 80:80 --name nginx \-v /mydata/nginx/html:/usr/share/nginx/html \-v /myd...

2019-12-10 17:41:44 180

原创 redis rabbitmq kafka beanstalkd比较

性能 可靠性 可扩展性redis 8w/s 不可靠 集群rabbitmq 4w/s ...

2019-12-10 16:59:02 1564

翻译 使用PHP生成PDF文档

实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个特性TCPDF具有以下特性:1、支持页面页脚;2、支持HTML标签代码;3、支持jpg/png/gif/svg图形图像;4、支持表格;5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)6、自动...

2019-12-03 14:25:13 429

转载 MySQL 判断字段是否包含某个字符串的方法

介绍下面四种方法1. 方法一:likeSELECT * FROM 表名 WHERE 字段名 like "%字符%" OR 字段名 like "%字符%";12. 方法二:find_in_set()SELECT * FROM users WHERE find_in_set('字符', 字段名);1利用mysql 字符串函数 find_in_set(),mysql有很多字符串函数 fin...

2019-10-29 17:57:33 794

原创 Nginx如何实现负载均衡,Nginx负载均衡的几种方式。

1.背景介绍在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不...

2019-10-24 10:30:12 137

转载 php 中排序算法的比较

/* * php 四种排序算法的时间与内置的sort排序比较 * 3000个元素,四种算法的排序所用的时间比较 * 冒泡排序 857.98192024231ms * 选择排序 903.74493598938ms * 插入排序 296.8270778656ms * 快速排序 15.607833862305ms * sort排序 0.95200538635254ms * 归并排序 1...

2019-05-29 10:19:00 85

原创 parse_str()函数 换将字符里面的+转换为空格建议不使用该函数

//url参数转化成数组function convertUrlArray($query){ $queryParts = explode('&', $query); $params = array(); foreach ($queryParts as $param) { $item = explode('=', $param); ...

2018-10-30 10:19:51 980 1

翻译 微信网页扫码登录的实现

为了让用户登录网站的门槛更低,微信扫一扫登录变得越来越广泛,所以最近加紧赶制的项目中有用到这个功能,此篇文字的出发点基于微信开放平台已经配置好域名(80端口)并且认证成功获得app_id和secret并有权限调用微信的接口。好了,就先谈一谈微信扫码登录的整个流程吧。  第一步,我们必须得把二维码放在页面上显示。首先普及一下二维码是有失效时间以及失效状态的,一旦你扫过一次二维码或者在某段时间内没...

2018-09-25 10:21:34 983 1

翻译 如何配置Apache 防止图片盗链

独立建博的用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分。所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链的对象大多为很耗带宽的大体积文件,如图片、视频等。这样造成的后果主要有:增加了服务器的流量负担,影响我们网站的访问速度。如果你用的是Apache服务器,那么使用.htaccess文件就可以很方便的进行设置,从而防止其他站点的用户盗链我们站点的文件...

2018-04-28 15:05:55 399

翻译 大流量高并发量网站的解决方案

1、确认服务器硬件是否足够支持当前的流量。2、使用memcache缓存技术,将动态数据缓存到内存中,动态网页直接调用这些文件,而不必在访问数据库。3、禁止外部的盗链。4、外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对自身图片或者文件盗链,目前可以简单的通过refer来控制盗 链,apache自己就可以通过配置来禁止盗链。5、控制大文件的下载。 大文件的下载会占用很大的流...

2018-04-28 14:41:32 138

空空如也

空空如也

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

TA关注的人

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