![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
小山沟里的程序猿
向一个城墙发起冲锋!
展开
-
PHP内核学习(一)SAPI
一、源码结构学习PHP-src之前,我准备了一份源文件:GitHub下载->https://github.com/helingfeng/php-src1. root根目录下,包含项目的说明文件以及设计方案,大部分文件是必读的。2. build顾名思义,放置一些和源码编译相关的文件,比如编译前脚本配置、环境监测等。3. ext官方扩展,包含了绝大数PHP函数的定义和实现...原创 2020-04-28 21:35:02 · 726 阅读 · 0 评论 -
PHP 多进程编程与进程间通信方式实现
一、进程进程指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。在操作系统中,不同进程间切换采用时间片轮转的方式进行,每个进程在创建的时都会被分配一个数据结构,其中包含了很多重要的信息,供系统调度和进程本事执行使用,其中就有进程的id。进程一般有三个状态:就绪状态、执行状态和等待状态【或称阻塞状态】。二、多进程的产生...原创 2020-02-08 21:44:28 · 607 阅读 · 0 评论 -
PHP如何实现daemon守护进程和master-woker模式进程
一、PHP多进程及其实现每个进程都有一个父进程,子进程退出,父进程能得到子进程退出的状态。每个进程都属于一个进程组,每个进程组都有一个进程组号,该号等于该进程组组长的PID。场景一:日常任务中,有时需要通过php脚本执行一些日志分析,队列处理等任务,当数据量比较大时,可以使用多进程来处理。场景二:如果一个任务被分解成多个进程执行,就会减少整体的耗时。比如有一个比较大的数据文件...原创 2019-11-29 23:21:54 · 477 阅读 · 0 评论 -
composer史上最全解析
1、composer是什么2、原创 2019-10-22 22:58:04 · 1120 阅读 · 0 评论 -
PHP如何实现session数据存储到Redis Cluster中?一文教你弄个明白
最近在调研PHP中的session数据如何存储到Redis Cluster中,到底有几种方式实现呢?本文作者和你一探究竟。一、为什么Session要存在Redis Cluster中?公司以前的session数据存储在memcached当中,mc天然不支持cluster模式,导致mc出现故障时,session数据丢失,造成用户投诉。Redis存在standalone,sentinel,clu...原创 2019-10-16 16:28:24 · 1515 阅读 · 1 评论 -
php几种编码与序列化(rawurlencode, igbinary,json_encode)的区别
最近,在公司负责第三方短信运营商对接开发时,遇到了转码和序列化的问题,再请教了大神之后才终于解决了,下边重点回顾下PHP中的各种序列化和编码的功能和应用场景。一、urlencode与urldecode功能:便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。场景:此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格...原创 2019-09-28 16:56:57 · 1073 阅读 · 0 评论 -
php高级IO用法
无论哪种编程语言,IO操作都值得好好学习和理解。由于PHP简单的特性,不少人对此毫无概念也能写出可用的代码。本文总结PHP开发中几个常见的IO场景并介绍对应的操作,希望能帮助PHP开发人员加深对IO的理解。后续文章中将介绍隐藏在简单之下的本质:流。本文介绍的场景包括:读写文件、命令行输入输出、与远程网址交互。废话少说,直接开始吧!一、读写文件文件的读写是最常规的IO操作。打开文件、读写...原创 2019-08-05 17:52:09 · 1144 阅读 · 0 评论 -
PHP正则表达式详解
用好正则表达式往往会起到事半功倍的效果,以下是对PHP正则表达式的语法汇总和详细介绍。首先,让我们看看两个特别的字符:’^’ 和 ‘$’ 他们是分别用来匹配字符串的开始和结束,一下分别举例说明“^The”: 匹配以 “The”开头的字符串;“of despair$”: 匹配以 “of despair” 结尾的字符串;“^abc$”: 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配转载 2017-01-11 17:15:56 · 1124 阅读 · 0 评论 -
PHP与MySQL程序设计读书笔记(一)
一、PHP基本类型及函数 1. 短标签 sprintf??? 2. 类型自动装换 3. 与类型相关的函数 gettype(),settype(),判断是否为某个类型:is_name() 变量赋值的两种方法:按值赋值,引用赋值 4.九个预定义变量 SERVER,_SERVER, _COOKIE, SESSION,_SESSION, _GET, POST,_POST, _REQUEST,原创 2016-12-15 09:17:42 · 839 阅读 · 0 评论 -
PHP与MySQL程序设计读书笔记(二)
六、日期和时间1.日期常用函数(1)验证日期函数checkdate(),检查日期是否合法; getdate()strtotime()转换为时间戳,intval(time())获取当前日期的时间戳;time()用于获取时间戳;mktime获取指定日期的时间戳,尤其用于计算两个时间点的间隔数;PHP时间戳函数获取英文文本日期时间便于比较,使用date将当时间戳与指定时间原创 2016-12-04 21:01:01 · 574 阅读 · 0 评论 -
PHP与MySQL程序设计读书笔记(一)
一、PHP基本类型及函数1. 短标签sprintf???2. 类型自动装换3. 与类型相关的函数gettype(),settype(),判断是否为某个类型:is_name()变量赋值的两种方法:按值赋值,引用赋值4.九个预定义变量$_SERVER, $_COOKIE, $_SESSION, $_GET, $_POST, $_REQUEST, $_原创 2016-12-04 20:58:24 · 1876 阅读 · 0 评论