随笔分类 - c
摘要:在做php开发的时候,经常会设置max_input_time、max_execution_time,用来控制脚本的超时时间。但却从来没有思考过背后的原理。 趁着这两天有空,研究一下这个问题。文中源码取自php5.4.44版本。 超时配置 php的ini配置如何起作用,这是一个老生常谈的话题了。 首先
阅读全文
摘要:最近写的一段代码,总是出core,精简了一下,稳定复现。 编译并执行,就会报Segmentation fault (core dumped)。 看下core的栈: 问题应该是出在strerror(errno)上了。 反编译一下代码, 差不多到这里问题就追踪出来了。由于是在64位系统上执行,因此eax
阅读全文
摘要:继续接着上一篇写。 运行时改变配置 在前一篇中曾经谈到,ini_set函数可以在php执行的过程中,动态修改php的部分配置。注意,仅仅是部分,并非所有的配置都可以动态修改。关于ini配置的可修改性,参见:http://php.net/manual/zh/configuration.changes.
阅读全文
摘要:这篇文章不会详细叙述某个ini配置项的用途,这些在手册上已经讲解的面面俱到。我只是想从某个特定的角度去挖掘php的实现机制,会涉及到一些php内核方面的知识:-) 使用php的同学都知道php.ini配置的生效会贯穿整个SAPI的生命周期。在一段php脚本的执行过程中,如果手动修改ini配置,是不会
阅读全文
摘要:首先说下今天想到的一个问题。在编写php扩展的时候,似乎参数(即传给zend_parse_parameters的变量)是不需要free的。举例: 运行正常: 这里不用担心test函数会发生内存泄露,php会自动帮我们回收这些用于保存参数的变量。 那php究竟是如何做到的呢?要解释这个问题,还是得看p
阅读全文
浙公网安备 33010602011771号