基于rebase的Git工作流

phpmianshi1年前 (2019-04-01)架构34
使用Git在多人协作的过程中,我们也会面临如何运用好Git的问题。这种情况下,就出现了各种各样的Git Workflow,而本文将介绍一种基于rebase的工作流,这种工作流也是目前开源社区所比较推崇...

tp5.0.x 5.1.x 最新getshell漏洞

phpmianshi2年前 (2018-12-10)PHP125
概况近日thinkphp团队发布了版本更新:https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。影响范围5.1.x < 5.1.315.0.x&...

PHP程序员解决问题能力的六个级别

phpmianshi2年前 (2018-06-14)PHP109
青铜  var_dump/die打印变量值信息单步调试是最简单粗暴有效的解决问题方法。高级一点的是使用打印日志。白银 会设置各种错误日志的记录和显示,并根据各种错误日志分析错误或者搜索别人的...

PHP7 数组的底层实现

phpmianshi2年前 (2018-06-13)PHP153
PHP7 数组的底层实现
PHP 数组具有的特性PHP 的数组是一种非常强大灵活的数据类型,在讲它的底层实现之前,先看一下 PHP 的数组都具有哪些特性。可以使用数字或字符串作为数组健值$arr = [1&...

PHP数组的有序性

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

php5数组与php7数组区别

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

PHP7的垃圾回收机制

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

PHP7内存优化原理(八)

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

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

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

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

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

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

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

Certbot-免费的https证书

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

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

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

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

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

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

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

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

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

GoLang中signal.Notify函数用法介绍

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

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

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

php闭包的优缺点

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

PHP红包分配算法

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