穷则独善其身,达则兼济天下

工匠之路

标签 PHP 下的文章

July 5, 2018

PHP扩展开发1:代码框架搭建

文章系列介绍本系列文章主要围绕PHP扩展开发,PHP扩展的重要性毋庸置疑,我们既可以编写PHP模块来帮助提升PHP日常的计算性能、丰富PHP的功能模块,也可以编写基于Zend引擎的扩展,做一些更加高级的PHP扩展开发,例如运行时监控、性能分析。篇1:扩展代码框架搭建对于PHP扩展的开发过程,第一步应该是如何搭建一个完善的代码框架,便于我们踏出第一步,好在PHP源代码中已经包含了一系列的工具,...

php-fpm的pool设置

LNMP架构——php-fpm的进程pool设置php-fpm的poolphp-fpm.conf可以设置多个pool,在其中一个pool资源耗尽,会导致其他站点无法访问资源,报502错误。有必要把站点进行分离,分别使用单独的pool。修改php-fpm配置文件代码新增一个pool代码设置# 文件地址:/usr/local/php-fpm/etc/php-fpm.conf # vim php-...

UdsPipeTun使用教程

背景NetPipeTun是一个转发HTTP请求的中间件,因为传统的HTTP请求速度很慢,PHP对于Keep-alive支持的力度又不够,此中间件把用户GET或者POST请求序列化为完整的HTTP数据包、并把数据包通过Unix domain socket等高速通路进行传送,达到快速通信的目的。结构描述中间件结构包括client、config、exception、http、reponse、req...
June 7, 2018

多线程编程 - PHP 实现

前言前些天帮同事查一个问题,第一次接触到了 PHP 的多线程,原以为 PHP 普遍都是单线程模型,并不适合多线程领域,花些时间翻了几个多线程的项目源码之后,发现 PHP 的多线程也颇有可取之处,活用起来,用来解决某些问题竟然非常适合。于是找了几篇文章看了下 PHP 多线程 TSRM 机制的实现,也有所收获,详情可以查看下面的参考文章。本文对比多进程介绍了下多线程的优势和适用场景,提出了一种巧...
June 6, 2018

微服务:请求熔断原理

伴随微服务,出现了很多新鲜的名词,其实剥去外衣并没有那么高大上。今天要谈到的,叫做”熔断”,一个典型的开源实现是Hystrix(JAVA实现)。背景一个分布式系统中,服务间互相调用错综复杂,假设某个基础服务宕机,那么就会导致若干上游调用方出现访问超时,进而引起上游重试,导致宕机的基础服务遭受到数倍的流量放大,更加无法恢复服务。这种恶劣的情况并不会就此结束,上游因为调用基础服务超时而变慢,导致...
June 5, 2018

代码封装:Pecl_Http 与 UDS 客户端封装

1. 背景描述Pecl/HTTP是一个PHP扩展,历史非常悠久了,从2005年至2018年不断完善其功能,它主要帮助PHP对于HTTP请求的相关操作。不同于CURL,其具有更丰富的扩展接口,既包括平常的请求,也包括对于HTTP数据的封包或拆包操作。对于PHP和HTTP,大部分程序员关心的如何完成一个请求。但是更深一步,我们会发现HTTP数据包的文件格式也很重要,比如传统的HTTP请求性能很弱...