PHP数组的有序性

phpmianshi2年前 (2018-06-12)PHP987
在 PHP7中,我们往数组中插入元素的顺序,就决定了我们数组遍历元素的顺序。可以说,PHP7中的数组是有序的。这个有序就是指元素插入数组时的顺序,与遍历时顺序的一致性。为了实现插入与遍历的顺序一致性,...

php5数组与php7数组区别

phpmianshi2年前 (2018-06-11)PHP164
php5数组与php7数组区别
PHP5数组结构体typedef struct _hashtable {       uint n...

PHP7的垃圾回收机制

phpmianshi2年前 (2018-06-10)PHP146
PHP7的垃圾回收机制
垃圾回收机制垃圾回收机制是一种动态存储分配方案。它会自动释放程序不再需要的已分配的内存块。 自动回收内存的过程叫垃圾收集。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻...

PHP7内存优化原理(八)

phpmianshi2年前 (2018-06-09)PHP354
PHP7内存优化原理(八)
这里面其中的一些主要改变是性能提高的关键,主要有以下内容。1.zval使用栈内存在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZV...

PHP内核分析之深入理解字符串(七)

phpmianshi2年前 (2018-06-08)PHP164
一、字符串的结构struct _zend_string {     zend_refcounted_h gc; &nb...

PHP内核分析之常见变量基本结构(六)

phpmianshi2年前 (2018-06-07)PHP183
一、类型一览zval中的u1.v.type用来存储变量的类型,而zval.value存储的是不同类型对应的值,所以type决定value取值的地方,以下是PHP7所定义的所有类型。#define&nb...

PHP内核分析之变量zval在php5和php7中的区别(五)

phpmianshi2年前 (2018-06-06)PHP176
一、PHP7中的zval使用栈内存在 PHP7 中 zval 有了新的实现方式。最基础的变化就是 zval 需要的内存不再是单独从堆上分配,不再自己存储引用计数。复杂数据类型(比如字符串、数组和对象)...

Certbot-免费的https证书

phpmianshi3年前 (2018-05-06)运维162
什么是HTTPS?HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传...

PHP内核分析之生命周期五个阶段(四)

phpmianshi3年前 (2018-05-05)PHP164
一、模块初始化阶段我们先来看一下该阶段的每个函数的作用。1.1、sapi_initialize_request_empty函数// main/SAPI.c SAPI_API vo...

PHP内核分析之生命周期(三)

phpmianshi3年前 (2018-04-22)PHP888
一、概览PHP生命周期有五个阶段,分别为模块初始化阶段、请求初始化阶段、执行阶段、请求关闭阶段、模块关闭阶段。只是不同SAPI模式下,请求的情况略有不同,比如FastCGI下只经历了一次模块初始化阶段...

PHP内核分析之源码目录结构 (二)

phpmianshi3年前 (2018-04-05)PHP792
一、目录概览以php-7.4.1为例,目录多达十多个,下面介绍主要目录。├── build   linux下编译相关的目录├── ext      P...

PHP内核分析之GDB使用(一)

phpmianshi3年前 (2018-04-02)PHP1680
1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7&...

GoLang中signal.Notify函数用法介绍

phpmianshi3年前 (2018-04-01)Golang720
函数声明为:func Notify(c chan<- os.Signal, sig ...os.Signal)官方描述:Notify函数让sig...

Windows下nginx+fastcgi+php的并发阻塞问题

phpmianshi3年前 (2017-06-03)PHP136
同事接到一个需求,需要调用同一个项目的另一个接口,于是CURL调用接口。代码撸完了,本地测试一下 浏览器一直转圈圈直到超时…… 百思不得其解主要是windows+nginx开发环境遇到的问题,本人很少...

php闭包的优缺点

phpmianshi3年前 (2017-06-02)PHP130
闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用。通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包。我的理解是: 闭包就是能够读取其他函数内部变量的函数。匿名函数赋...

PHP红包分配算法

phpmianshi3年前 (2017-06-01)PHP891
<?php /**  * User: phpmianshi.com   * Date: 2020/3/31 &nbs...

mysql中count(x)到底慢不慢

phpmianshi3年前 (2017-05-28)Mysql14
总结MyISAM 表不支持事务,但是count(*) 很快,因为他直接记录了一个总数MyISAM在统计表的总行数的时候会很快,但是有个大前提,不能加有任何WHERE条件。这是因为:MyISAM对于表的...

mysql中找出无用的索引或重复索引

phpmianshi3年前 (2017-05-23)Mysql20
背景MySQL允许在相同列上创建重复的索引,但这样做对数据库却是有害而无利的,需要定期检查此类重复索引以改善数据库性能。可减少磁盘空间占用、减少磁盘IO、减少优化器优化查询时需要比较的索引个数、减少数...

mysql中performance_schema(三) 实践篇

phpmianshi3年前 (2017-05-21)Mysql17
背景前一篇文章我们分析了performance_schema中每个表的用途,以及主要字段的含义,比较侧重于理论的介绍。这篇文章我主要从DBA的角度出发,详细介绍如何通过performance_sche...

mysql中performance_schema(二) 理论篇

phpmianshi3年前 (2017-05-20)Mysql22
背景mysql performance_schema中总共包含52个表,主要分为几类:Setup表,Instance表,Wait Event表,Stage Event表Statement Ev...