PHP内核学习
文章平均质量分 87
d4shman
~
展开
-
【PHP内核学习】线程安全
PHP同一进程下的多个线程会试图读写一些存储在进程内存空间的公共资源,此时这些线程访问的内存地址空间相同,当一个线程修改时,会影响其它线程,这种共享会提高一些 操作的速度, 但是多个线程间就产生了较大的耦合,并且当多个线程并发时,就会产生常见的数据一致性问题或资源竞争等并发常见问题。原创 2014-04-05 23:10:15 · 1539 阅读 · 1 评论 -
【PHP内核学习】深入理解FastCGI
CGI全称是“通用网关接口”( Common Gateway Interface),它可以让一个客户端从 网页浏览器向执行在web服务器上的程序请求数据。CGI描述了客户端和这个程序之间传 递数据的一种标准原创 2014-05-08 14:08:26 · 3004 阅读 · 0 评论 -
【PHP内核学习】变量和数据类型
php内核中所有的变量使用同一种数据结构zval来保存,而这个结构同时表示php中各种数据类型,它不仅仅包含变量的值,也包含变量的类型。这就是php弱类型的核心。原创 2014-05-08 14:05:45 · 1680 阅读 · 1 评论 -
【PHP内核学习】SAPI
鸟哥的博客提到了SAPI,我也来看下源码。 ------------- php架构图(图片出自http://stblog.baidu-tech.com/?p=763): 中间层(sapi)解耦隔离了web server和php 每个SAPI实现都是一个_sapi_module_struct 结构体: 在php源码目录下用 grep -r _sapi_modul原创 2014-04-08 15:56:14 · 1951 阅读 · 0 评论 -
【PHP内核学习】global关键字的解析过程分析
通过代码可以看到,当传递过来的fetch_type是ZEND_FETCH_GLOBAL(_LOCK)时,函数使用EG(excutor_global)宏 返回了global变量的符号表地址。原创 2014-05-08 14:10:44 · 1693 阅读 · 0 评论