自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 [PHP]socket的连接超时 与 读取/写入超时

socket处理时有两种超时 , 分为连接超时 和 读取/写入数据超时1. stream_socket_client 函数中的超时时间是连接超时 ,默认是php.ini中的default_socket_timeout配置项2.stream_set_timeout() 函数设置的是 读取/写入数据超时3.default_socket_timeout配置项也控制file_g...

2019-04-30 17:16:00 654

原创 [PHP]引用返回与节省内存

PHP中的引用是什么:1.在 PHP 中引用意味着用不同的名字访问同一个变量内容2.引用可以被看作是 Unix 文件系统中的硬链接。3.使用unset的话,只是删除他这个名字自身对内容的引用,并没有删除内容本身php > $a="test";$b=&$a;unset($a);var_dump($b);string(4) "test"php > $a="test";...

2019-04-29 17:19:00 122

原创 [PHP]实体类基类和序列化__sleep问题

1.构造函数传参2.__get和__set实现,当调用不存在的属性的时候,可以取值和赋值到data属性数组3.__sleep实现,当序列化对象的时候,只序列化data属性数组和类内初始化定义的字段4.__isset实现,可以判断属性是否存在,通过判断data属性数组5.toArray方法实现,返回data属性数组6.记录了构造初始化后,动态添加的属性字段<?php...

2019-04-28 15:32:00 113

原创 [PHP]日志处理error_log()函数和配置使用

1.error_log($message,$message_type,$destination,$extra_headers)函数,2.message_type 是0,发送信息到php.ini配置的error_log的位置   cli环境下是这里:/etc/php/7.0/cli/php.ini      fpm环境下是:/etc/php/7.0/fpm/pool....

2019-04-26 15:22:00 272

原创 [PHP] 使用反射实现的控制反转

搬家进程中反射实现控制反转,样做的好处是可以通过配置项动态的控制下面那个类的属性1.$this->getObject($class, $config->getConfig('param'), array($this), $interfaces);2.$reflection=new ReflectionClass($class);3.$reflection->impl...

2019-04-26 11:49:00 136

原创 [PHP] debug_backtrace()可以获取到代码的调用路径追踪

查看代码的时候,看到有使用这个函数,测试一下1.debug_backtrace()可以获取到代码的调用追踪,以数组形式返回2.debug_print_backtrace() — 打印一条回溯,直接打印出来<?phpclass Test{ public function __construct(){ $ts=...

2019-04-25 17:49:00 383

原创 [日常] 面试知识点总结(持续更新)

数据结构和算法: 物理结构和逻辑结构 1.逻辑结构(集合结构,线性结构,树形结构,图形结构) 2.物理结构一般是讲内存,顺序存储结构,链式存储结构 浅谈算法中,高斯算法从1加到100,循环的话是100次,高斯的方法只需要一次 1.推导大O阶:O(1) O(n) O(n^2) O(logn) 1.常数1取代时...

2019-04-24 18:27:00 1016

原创 [TCP/IP] TCP的传输连接管理

1.连接建立=>数据传输=>连接释放2.主动发起连接的是客户端,被动接受连接的是服务器3.三次握手 客户端 ==> SYN是1同步 ,ACK确认标志是0,seq序号是x ==> 服务器 客户端 <== SYN是1同步 ,ACK确认标志是1,seq序号是y,ack确认号是x+1 <==服务器 客户端 ==> ACK确认标志是...

2019-04-23 20:12:00 80

原创 [PHP] sys_get_temp_dir()和tempnam()函数报错与环境变量的配置问题

1.项目运行过程中遇到个问题,保存临时文件时,一直返回false2.根据经验这个是在/tmp目录下建立临时文件,所以检查了一遍权限问题,发现权限没有问题3.查出sys_get_temp_dir()这个返回的目录是/data1/phptmp4.grep了一遍php-fpm的配置文件,找到这个位置/etc/php-fpm.d/www.confenv[TMP] = /da...

2019-04-18 18:47:00 394

原创 [PHP] ubuntu下使用uuid扩展获取uuid

1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个uuid3.安装扩展可以做到,先安装uuid 和uuid-devapt-get install uuid*4.安装php扩展pecl instal...

2019-04-18 14:23:00 243

原创 [Linux] host dig nslookup查询域名的DNS解析

root@VM-38-204-ubuntu:~# host baidu.com baidu.com has address 220.181.57.216baidu.com has address 123.125.114.144baidu.com mail is handled by 15 mx.n.shifen.com.baidu.com mail is han...

2019-04-17 11:24:00 133

原创 [PHP] MIME邮件协议的multipart类型

邮件协议中的三种情况,对应下面的三种类型multipart/mixed可以包含附件。multipart/related可以包含内嵌资源。multipart/alternative 纯文本与超文本共存1.纯文本的,只需要一块content-type块,不需要multipart块Date: Tue, 16 Apr 2019 17:35:19 +0800Received: ...

2019-04-16 17:39:00 620

原创 [MySQL] mysql的逻辑分层

mysql逻辑分层:1.client ==>连接层 ==>服务层==>引擎层==>存储层 server2.连接层:   提供与客户端连接的服务3.服务层:   1.提供各种用户使用的接口(增删改查),sql解析     sql的解析过程比如:     from ... on ... where ... group by ... having ... sel...

2019-04-16 11:28:00 185

原创 [TCP/IP] 传输层-ethereal 抓包分析TCP包

开启抓包工具抓取一个HTTP的GET请求,我的ip是10.222.128.159 目标服务器ip是140.143.25.27握手阶段:客户端 ===> SYN MSS=1460(我能接收的最大数据包是1460字节) ===> 服务器客户端 <=== SYN,ACK MSS=1424(服务器最大数据包是1424字节) WS=7(window) win=3...

2019-04-15 16:19:00 711

原创 [TCP/IP] 传输层-TCP和UDP的使用场景

传输层-TCP和UDP应用场景 TCP(传输控制协议) 需要将要传输的文件分段传输,建立会话,可靠传输,流量控制 UDP(用户报文协议) 一个数据包就能完成数据通信,不需要建立会话,不分段,不用流量控制,不可靠传输 UDP使用场景 DNS域名解析,QQ聊天,多媒体教室屏幕广播 TCP使用场景 HTTP协议,QQ传文件,邮件传输1.netstat -nb查看的都是tcp,因为...

2019-04-12 18:56:00 289

原创 [TCP/IP] 网络层-简单查看路由表

使用抓包工具排除网络故障:1.如果一台计算机在网络上发广播包,广播的mac地址是全ff,就有可能堵塞2.使用抓包工具,检测广播包和多播包网络畅通的条件:数据包有去有回1.路由器使用路由表找到目标网段应该怎么出去2.管理员设置的是静态路由,路由器自动选择的是动态路由(使用的RIP和OSPF协议也属于IP协议)3.沿途的路由器必须知道,到下一跳的网段怎么走,路由器的路由表4.举了个例子,...

2019-04-12 18:11:00 221

原创 [TCP/IP] 网络层-抓包分析IP数据包首部

ip数据包的结构:首部+数据部分1.版本(v4或者v6)+首部长度(固定的20字节,所以就没有)+区分服务优先级(我的例子是 assured forwarding 31 0x1a 26,保证转发)2.总长度+是否分片+分片的标志+片偏移 (我的例子中不需要分片)网络层数据包最大65535字节,数据链路层数据最大 1500字节,所以这里可能会有个数据包分片的行为...

2019-04-11 20:25:00 507

原创 [TCP/IP] 网络层-ARP协议

ARP协议可以将网络层地址到任意物理地址转换,从IP地址到MAC地址转换MAC地址:物理地址,网卡厂家要确保MAC地址全球唯一,48位2进制,显示是12位16进制1.查看我自己的ip,我自己的的ip和网络地址2.ping一下局域网其他主机ping 10.235.173.16 ,此时ARP协议会把ip地址转成mac地址,存在缓存里,使用arp -a命令查看3.pi...

2019-04-11 17:30:00 90

原创 [TCP/IP] 数据链路层-ethereal 抓包分析数据帧

1.下载 http://dx1.pc0359.cn/soft/e/ethereal.rar2.打开软件,指定抓取的网卡,下面是我抓取自己的主要网卡数据3.开启个ping命令 , 不停的ping一台服务器,看icmp协议 ping ip地址 -t4.查看数据帧的目标MAC地址 和 源MAC地址 和类型 0800表示ip 和数据...

2019-04-10 19:24:00 749

原创 [TCP/IP] 计算机网络性能指标

速率:连接在计算机网络上的主机在数字信道上传输数据位数的速率单位是 b/s kb/s mb/s gb/s带宽:数字信道所能传输的最高数据率 查看我的网卡是144Mbps吞吐量:单位时间内通过某个网络的数据量时延:发送时延 传输时延 处理时延 排队时延 发送时延=数据块长度(比特)/带宽(比特/秒) 时延带宽积代表有多少数据在路上RTT 往返时间 使用ping测试,先ping一下网关,...

2019-04-09 20:21:00 716

原创 [MySQL] MVCC 多版本并发控制实现的事务

1.没有一个统一的实现标准,实现了非阻塞的读操作,写操作也只锁定必要的行2.通过保存数据在某个时间点的快照实现的3.典型的有乐观并发控制和悲观并发控制4.innodb的mvcc是每次事务都有递增的版本号,通过在每行记录的后面添加两列隐藏字段,两列分别是是创建版本号和删除版本号,存储操作它事务的版本号5.在事务中增删改查就是对两列版本号字段进行操作insert 为新插入的每一行保存当前...

2019-04-09 16:48:00 61

原创 [HTTP] tcp/ip详解 链路层 网络层 传输层 应用层

1.可以把七层协议简化成四层协议链路层 网络层 传输层 应用层2.通过路由器连接的两个网络网络层ip提供的是一个逐跳协议,提供了一种不可靠的服务,中间有可能会丢传输层tcp在ip的基础上提供了可靠的传输层比喻:tcp就是淘宝卖家 ,ip就是包裹,中间如果包裹丢了,卖家会重新发一个包裹,这里会有一个确认的过程3.udp是不可靠的,它不会去确认,丢了就丢了,比如语音就用这个,sysl...

2019-04-08 23:59:00 209

原创 [MySQL] mysql 的行级显式锁定和悲观锁

隐式和显式锁定:1.innodb是两阶段锁定协议,隐式锁定比如在事务的执行过程中.会进行锁定,锁只有在commit或rollback的时候,才会同时被释放2.特定的语句进行显式锁定 select ... lock in share mode ; select ... for update,where条件里面的必须是主键,否则会锁整张表3.需要用在事务中使用,并且两个查询都需要for ...

2019-04-08 15:43:00 120

原创 [MySQL] mysql的事务隔离和幻读和死锁问题

1.系统要通过严格的ACID测试,ACID表示原子性/一致性/隔离性/持久性原子性:一个事务必须被视为一个不可分割的最小工作单元一致性:数据库总是从一个一致性的状态转换到另外一个一致性的状态隔离性:通常来说一个事务所做的修改在最终提交以前对其他事务是不可见的持久性:一旦事务提交,则其所做的修改就会永久保存到数据库中2.sql标准中定义了四种隔离,较低级别的隔离可以执行更高的并发,开销...

2019-04-08 11:56:00 118

原创 [MySQL] mysql 的读写锁与并发控制

1.无论何时只要有多个查询在同一时刻修改数据,都会产生并发控制的问题2.讨论mysql在两个层面,服务器层和存储引擎层,如何并发控制读写3.举了个mbox邮箱文件的例子,说如果有多个进程同时对mbox文件写东西,那么在文件的末尾会,交叉混乱的添加,比如进程1写了几行,进程2也写了几行,互相交叉,数据就是错误的了.设计良好的mbox需要加锁,比如进程1锁住了文件,进程2必须等待进...

2019-04-04 11:36:00 160

原创 [PHP] try catch在日常中的使用

1.try catch可以捕获上一层throw的异常2.finally是不管try或者catch任何一块有return, 最终都会执行的块3.try也是可以捕获到call_user_func_array回调函数类内部的throw的异常4.call_user_func_array只能回调类的静态方法,可以在这个静态方法中进行new对象5.在不自定义任何错误处理函数的情况下,...

2019-04-03 18:52:00 118

原创 [PHP] 按位与& 或| 异或^ 的日常使用

按位与:0&0=0; 0&1=0; 1&0=0; 1&1=1;按位或:0|0=0; 0|1=1; 1|0=1; 1|1=1;按位异或,在或的基础上1 1也为0:0^0=0; 0^1=1; 1^0=1; 1^1=0;1.一个int型字段,存储十进制的数字,比如说是5那么该数字转成二进制是101,我自己定义从左往...

2019-04-02 14:53:00 589

原创 [PHP] pow指数运算函数与二进制

1.a的-2次方=(a分之一)的2次方2.-a的2次方 3次方 按照这个规则,负负得正,负正得负,正正得正,指数是偶数最终结果是正的,是奇数就是负的3.二进制转换十进制,0b开头是二进制<?php$a=pow(2,0);//int(1)$b=pow(-2,2);//int(4)$d=pow(-2,3);//int(-8)$c=pow(2,-2);//fl...

2019-04-02 11:13:00 292

原创 [MySQL] 索引中的b树索引

1.索引如果没有特别指明类型,一般是说b树索引,b树索引使用b树数据结构存储数据,实际上很多存储引擎使用的是b+树,每一个叶子节点都包含指向下一个叶子节点的指针,从而方便叶子节点的范围遍历2.底层的存储引擎也可能使用不同的存储结构,比如NDB集群存储引擎使用了T树,InnoDB使用的是B+树3.MyISAM使用前缀压缩技术使得索引更小,InnoDB按照原数据格式进行存储,MyIS...

2019-04-01 20:35:00 91

原创 [PHP] strpos stripos strrpos strripos的区别

stripos — 查找字符串首次出现的位置(不区分大小写),应使用 === 运算符来测试此函数的返回值strpos 左边开始字符出现的第一个位置,区分大小写stripos 和上面一样,不区分大小写strrpos 左边开始字符出现的最后一次的位置,区分大小写strripos 和上面一样,不区分大小写<?php$str="AaBbbBCc";//区分大小写va...

2019-04-01 16:23:00 140

maccms7php.zip

电影站源码苹果CMS,PHP版本的完整版下载,要求PHP版本低于7.0

2019-09-21

空空如也

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

TA关注的人

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