nginx本身并不处理动态请求,它会通过fastcgi把请求转发给php,php处理完生成静态页面再由nginx处理。PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面..
分类:
Web程序 时间:
2014-09-02 12:32:05
阅读次数:
284
PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比...
分类:
Web程序 时间:
2014-07-22 08:10:36
阅读次数:
289
本地打开dev项目,发现很多notice级别错误。找了一下相关文章,发现这样一篇文章,大家可以阅读以下。 地址:http://be-evil.org/php-error-handle-benchmark.html 核心关注:关闭掉PHP错误输出并不会关闭php内核...
分类:
Web程序 时间:
2014-07-21 13:20:41
阅读次数:
224
0) { ALLOC_ZVAL(*value_ptr_ptr); ZVAL_COPY_VALUE(*value_ptr_ptr, value_ptr); value_ptr = *value_ptr_ptr; ...
分类:
Web程序 时间:
2014-07-16 20:53:10
阅读次数:
167
op2.zv; variable_ptr_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline->op1.var TSRMLS_CC); if (IS_CV == IS_VAR && UNEXPECTED(variable_ptr_pt...
分类:
Web程序 时间:
2014-07-15 00:22:58
阅读次数:
555
op2.var TSRMLS_CC); variable_ptr_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline->op1.var TSRMLS_CC); if (IS_CV == IS_VAR && UNEXPECTED(var...
分类:
Web程序 时间:
2014-07-14 08:10:19
阅读次数:
315
我们先看一个php常量的定义方法
define('PRICE', 30);
之前,我一直把define和C中的宏定义理解一致,因此在使用的时候也只是将其当成简单地字符替换。后来研究了PHP内核以后,发现PHP中的常量和宏定义完全不是一回事。
在PHP脚本运行的过程中,zend引擎会维护一个常量列表,对于普通用户来说,可以对这个常量列表进行CRUD操作,api分别为
d...
分类:
Web程序 时间:
2014-06-24 17:36:40
阅读次数:
298
在php5.3之前,为某变量分配内存是用宏MAKE_STD_ZVAL;737 #define MAKE_STD_ZVAL(zv) \ # /Zend/zend.h738 ALLOC_ZVAL(zv); \739 INIT_PZVAL(zv);165 #define ALLOC_Z...
分类:
Web程序 时间:
2014-06-17 23:58:43
阅读次数:
451
PHP中经常使用数组,PHP的数组强大,而且速度也快,读写都可以在O(1)内完成,因为它每个元素的大小都是一致的,只要知道下标,便可以瞬间计算出其对应的元素在内存中的位置,从而直接取出或者写入。那么内核中数组是如何实现的呢?
PHP大部分功能,都是通过HashTable来实现,其中就包括数组。
HashTable即具有双向链表的优点,同时具有能与数据匹敌的操作性能。...
分类:
Web程序 时间:
2014-05-20 16:10:21
阅读次数:
368
php内核中所有的变量使用同一种数据结构zval来保存,而这个结构同时表示php中各种数据类型,它不仅仅包含变量的值,也包含变量的类型。这就是php弱类型的核心。...
分类:
Web程序 时间:
2014-05-08 15:55:06
阅读次数:
517