【发布时间】:2016-10-20 16:15:27
【问题描述】:
如果您查看this documentation,第一个参数只返回 Zend 扩展。 与 PHP(“简单”)扩展相比,Zend 扩展到底是什么?
【问题讨论】:
标签: php php-extension php-internals
如果您查看this documentation,第一个参数只返回 Zend 扩展。 与 PHP(“简单”)扩展相比,Zend 扩展到底是什么?
【问题讨论】:
标签: php php-extension php-internals
Zend 扩展与语言的“较低级别”挂钩。单个扩展既可以是 PHP 扩展,也可以是 Zend 扩展。例如,Xdebug 两者都使用 Zend 扩展组件挂钩到语言的较低层以拦截调试调用。
Zend 扩展是 Zend 引擎 (ZE) 本身的扩展,它是 PHP 堆栈的最低级别。
The PHP Wiki 提供了很多附加信息。我将引用介绍:
您应该知道,我们区分“PHP 扩展”和“Zend 扩展”。考虑这篇文章后面的词汇,因为在内部,消息来源更喜欢将 PHP 扩展称为“模块”,将 Zend 扩展称为“扩展”。我们将保持更清晰的“PHP 扩展”与“Zend 扩展”的措辞。
这两种扩展类型共享很多东西。两种类型的区别主要在于它们注册到引擎中的钩子。请记住,尽管很不常见,但扩展可以同时是 PHP 扩展和 Zend 扩展。 Xdebug 就是一个很好的例子。
Zend 扩展也是在加载 PHP 扩展之前加载的。
一个示例 PHP 扩展是 PHP Redis Extension。这是一个仅限 PHP 的扩展,不直接挂接到 Zend 引擎。
【讨论】: