9得票1回答
PHP的MySQL游标实现及其内存管理

不同的MySQL Cursors在PHP中如何管理内存?我的意思是,当我进行检索大型结果集的MySQL查询并获取MySQL资源后,查询检索到的数据在本地内存中存储了多少,以及如何检索更多的结果?游标是否自动获取所有结果,并在使用fetch_array迭代资源时将它们提供给我,还是采用缓冲系统?...

21得票3回答
阅读Zend Engine API代码:双#(double hash)是什么意思?

出于好奇,我正在阅读Zend Engine API代码,并在他们的#define中遇到了相当多的##。例如,在/usr/lib/php5/Zend/zend_API.h中:#define ZEND_FN(name) zif_##name #define ZEND_MN(name) zim_##...

42得票5回答
为什么PHP属性不允许函数?

我对PHP还比较陌生,但我已经使用类似的语言编程了多年。以下让我感到困惑:class Foo { public $path = array( realpath(".") ); } 它产生了一个语法错误:Parse error: syntax error, une...

11得票2回答
为什么在整数严格模式下使用in_array比非严格模式慢?

我一直认为in_array严格模式会更快,或者至少和非严格模式速度相同。但是在进行一些基准测试后,我发现在搜索整数时它们之间的执行时间差异很大。字符串和数组测试表明严格模式更快。为什么? 测试代码 - (PHP 7.2.1): <?php $array = array_fill...

19得票2回答
未使用的使用语句会降低性能吗?

我想知道我的类中未使用的use语句是否会影响我的php网站的性能? php是一开始就包含所有类还是需要时再引入?如果是后者,那么我认为它不会影响系统的性能。 例如:未使用的Use语句'DbConnector'use model\adapter\DbConnector;

11得票2回答
编写PHP opcode并执行。如何做?

我该如何编写PHP opcode,将其保存在文件中并使Zend引擎执行它?只要能实现目的,任何方法或技巧都可以。

15得票3回答
从扩展返回“本地”PHP对象

我正在尝试创建一个PHP扩展来支持我的个人项目。除了上面链接的文章之外,我对zend_engine一无所知,而且我的C语言技能已经过去10年了,而且也只是学术方面的。这就意味着“如果我的问题看起来很蠢,那我可能确实很蠢”。 在我的扩展中,是否可以调用其他PHP扩展中的函数,或者每个PHP扩展...

7得票1回答
如何在unset()函数中找到触发垃圾回收的“低内存”和“空闲CPU周期”调用?

我经常发现以下引用被用来解释PHP的unset()不会立即触发"垃圾回收",而是在看到适当时才执行(重点是我的): “unset()正如它的名字所说-取消设置变量。它不会强制立即释放内存。PHP的垃圾收集器将在看到适当时进行处理-故意尽快,在那些CPU周期不再需要的情况下,或者在脚本将要耗尽...

45得票2回答
在php.ini文件中,“extension”和“zend_extension”有什么区别?

当我通过pecl安装Xdebug时,它向我的php.ini文件中添加了以下行。extension="xdebug.so" 之前我用的一切工具都很好用,直到今天。 今天我在设置交互式调试的Xdebug时遇到了问题。 在将上述内容更改为以下内容之前,我无法让任何东西正常运行:zend_exten...

31得票4回答
我可以为您提供关于PHP内部机制的学习资料。

有哪些好的资源可以开始学习PHP和Zend引擎的内部机制?