首页 / PHP / pecl-PHP扩展API版本
pecl-PHP扩展API版本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了pecl-PHP扩展API版本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2074字,纯文字阅读大概需要3分钟。
内容图文
![pecl-PHP扩展API版本](/upload/InfoBanner/zyjiaocheng/236/c4ab4663b87d4d4b9d813029c628b904.jpg)
发现两个版本之间内部迭代器接口函数有些许变化,区别如下:
{php-src}/Zend/zend_interface.c (in 5.3.X):
ZEND_API void zend_user_it_get_current_key(zend_object_iterator *_iter, char **str_key, uint *str_key_len, ulong *int_key TSRMLS_DC)
----------------------------------------------------------------------------------
{php-src}/Zend/zend_interface.c (in 5.4.X):
ZEND_API void zend_user_it_get_current_key(zend_object_iterator *_iter, zval *key TSRMLS_DC)
请问这个变更是和PHP版本关联:
5.3
---
5.4
还是跟扩展版本关联:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
----------------------------------
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
如何适配不同版本的API呢?
回复内容:
最近在写一个PHP扩展.
发现两个版本之间内部迭代器接口函数有些许变化,区别如下:
{php-src}/Zend/zend_interface.c (in 5.3.X):
ZEND_API void zend_user_it_get_current_key(zend_object_iterator *_iter, char **str_key, uint *str_key_len, ulong *int_key TSRMLS_DC)
----------------------------------------------------------------------------------
{php-src}/Zend/zend_interface.c (in 5.4.X):
ZEND_API void zend_user_it_get_current_key(zend_object_iterator *_iter, zval *key TSRMLS_DC)
请问这个变更是和PHP版本关联:
5.3
---
5.4
还是跟扩展版本关联:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
----------------------------------
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
如何适配不同版本的API呢?
至少从源码上看,和ZEND_MODULE_API_NO、ZEND_EXTENSION_API_NO 没有关系。
只能是PHP_API_VERSION了。
zend_interfaces.c
这个里面的这几个方法是定义的一些userspace iterator interfaces。
你是不是用的5.4开发分支的源代码?因为这个函数接口的改动是为了:Added support for non-scalar Iterator keys in foreach。
但这个特性是5.5才开始支持的,5.4中zend_user_it_get_current_key
这个函数的签名和以前没有变化啊。
我觉得遇到这种情况,一种办法是:
#if PHP_API_VERSION < 20120000
#else
#endif
不过我没踩过,有坑不要怪我
内容总结
以上是互联网集市为您收集整理的pecl-PHP扩展API版本全部内容,希望文章能够帮你解决pecl-PHP扩展API版本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。