位置: 编程技术 - 正文

PHP扩展迁移为PHP7扩展兼容性问题记录(php数据迁移)

编辑:rootadmin

推荐整理分享PHP扩展迁移为PHP7扩展兼容性问题记录(php数据迁移),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 转go,php迁移java,php扩展sg11,php扩展名,php扩展sg11,php扩展名,php 扩展,php数据迁移,内容如对您有帮助,希望把文章链接给更多的朋友!

PHP7扩展编写的时候,提供的一些内核方法和之前的PHP之前的版本并不能完全兼容。有不少方法参数做了调整。下面是在迁移过程中遇到的一些问题。记录下来,避免大家再踩坑。

add_assoc_stringl

方法参数改为四个。

add_assoc_stringl(parray, key, value, value_len);

迁移的时候,只要把最后一个参数删除即可。

add_assoc_string

方法参数从四个改为了三个。

add_assoc_stringl(parray, key, value);

迁移的时候,只要把最后一个参数删除即可。

add_next_index_stringl

方法参数从四个改为了三个。

add_next_index_stringl(parray, value, value_len);

迁移的时候,只要把最后一个参数删除即可。

add_next_index_string

方法参数从三个改为了两个。

add_next_index_string(parray, value);

迁移的时候,只要把最后一个参数删除即可。

RETURN_STRINGL

方法参数从三个改为了二个。

RETURN_STRINGL(value, length);

迁移的时候,只要把最后一个参数删除即可。

错误:‘INT_MAX' 在此作用域中尚未声明

PHP扩展迁移为PHP7扩展兼容性问题记录(php数据迁移)

原因为深入研究。在 #include "php.h" 上面加上一行

解决。

创建类

可以参考mysqli扩展mysqli.c文件中的 mysqli_objects_new 方法。

变量声明从堆上分配,改为栈上分配。

如,原先代码为

改为

方法参数从六个改为了四个。

迁移的时候,只要把第三个和第五个参数删除即可。

错误:‘Z_TYPE_PP' 在此作用域中尚未声明

已经没有Z_TYPE_PP宏,只有Z_TYPE 和Z_TYPE_P宏方法的定义。

h2错误:不能从 ‘zend_string*' 转换到 ‘const char*'

PHP7中对于字符串的处理使用zend_string进行存储。如果想把zend_string 转为 const char 。需要使用 ZSTR_VAL()宏方法。代码如下:

错误:‘IS_BOOL' 在此作用域中尚未声明

已经没有IS_BOOL类型。而是分为了IS_TRUE 和 IS_FALSE.

错误:‘Z_BVAL' 在此作用域中尚未声明

已经没有Z_BVAL宏。但是可以通过类型是否是 IS_TRUE和IS_FALSE来判定。

如果类型为IS_TRUE,则值为true。如果类型为IS_FALSE则值为false。

错误:‘zend_object_store_get_object' 在此作用域中尚未声明

增加如下代码:

然后把zend_object_store_get_object改为Z_USEROBJ_P即可。

注意,user_object是你定义的结构体。

以上所述是针对PHP扩展迁移为PHP7扩展兼容性问题记录的相关叙述,希望对大家有所帮助。

ECshop 迁移到 PHP7版本时遇到的兼容性问题 在PHP7上安装ECShopV2.7.3时,报错!Deprecated:MethodswiththesamenameastheirclasswillnotbeconstructorsinafutureversionofPHP;ECShasadeprecatedconstructorin/usr/local/nginx/html/ecshop/upload/inc

ThinkPHP设置禁止百度等搜索引擎转码(简单实用) 网站在移动端的阅读不可避免的会遇到转码问题,作为国内搜索引擎老大百度,自然要做技术的领头人了,做了百度转码,有些网站经过转码之后达到

在Mac OS的PHP环境下安装配置MemCache的全过程解析 安装服务端memcache是项目名,而在服务端的驻留进程叫memcached(linux的守护进程一般都是在后面加个d)。在OSX下使用brew可以快速安装memcache:$sudobrewinstallmem

标签: php数据迁移

本文链接地址:https://www.jiuchutong.com/biancheng/289839.html 转载请保留说明!

上一篇:在Mac OS上搭建PHP的Yii框架及相关测试环境(mac如何使用php)

下一篇:ECshop 迁移到 PHP7版本时遇到的兼容性问题(ecshop app搭建)

  • 以前年度所得税滞纳金的账务处理
  • 纳税义务发生时间和申报纳税的时间
  • 当月认证发票进项税转出能不能第二个月转出
  • 个体工商户怎么注销
  • 如何计算土地增值税的增值额
  • 汇算清缴职工教育费填在
  • 财务杠杆和经营杠杆的区别
  • 农产品代销合同协议书范本
  • 现金日记账的登记依据有
  • 建筑企业预交增值税税务筹划案例
  • 建筑企业在实施安全检查时,必须严格执行
  • 坏账准备核销和转销的区别
  • 工会经费2020年免征
  • 以前年度损益对应的科目
  • 办公软件无形资产的确认条件有哪些
  • 免征文化事业建设费条件的销售额标准
  • 收到电子银行承兑汇票怎么做账务处理
  • 会计估计变更的会计处理方法
  • 境内单位和个人将船舶出租到境外的,不征收车船税
  • 家里的无线网连着连着就断了
  • win10如何关闭更新并关机
  • php tr td
  • 中秋福利发放现金怎么做表
  • PHP:oci_client_version()的用法_Oracle函数
  • 钢铁企业成本核算表
  • vi应用项目
  • html制作网页教程
  • 小规模纳税人税额怎么算
  • 交易性金融资产属于流动资产
  • java泛型E和T
  • 什么是附加税举个例子
  • 买汽车配件属于什么服务
  • 冲减管理费用为什么放在借方
  • 吸收合并和新设合并哪个更好
  • 会计科目是怎么来的
  • 未收到货款但发货怎么办
  • sqlserver2008密码要求
  • 公司控股另一家公司好与坏
  • mysql常用语
  • 注册资金的多少有什么影响
  • 计算企业所得税可以扣除的税金
  • 代扣和代缴的区别
  • 新公司初期费用全部入哪里
  • 财务费用在贷方表示增加还是减少
  • 年底员工借款如何处理
  • 其他应收款项
  • 电子税务局自然人扣缴客户端
  • 税控服务费怎么记账
  • 日用品增值税率是多少
  • 资产负债表中的固定资产是原值还是净值
  • 车辆租赁费发票怎么开
  • 年末净利润为负说明什么
  • 记账凭证的审核与编制可以是一个人吗
  • windows优化软件哪个好
  • win10系统更新后有问题如何恢复
  • ubuntu中no such file or directory
  • windows环境是什么意思
  • svcproc.exe - svcproc是什么进程 有什么作用
  • win7开始菜单在哪个文件夹
  • linux 如何查看
  • 系统导航栏已禁用怎么办
  • win8出现蓝屏怎么修复
  • 电脑怎么连接上隐形wi
  • javascript学习指南
  • android按钮点击效果的实验报告
  • js原始值有哪些
  • node.js快速入门
  • node js作用
  • nodejs 爬虫
  • shell脚本 su
  • android FileNotFoundException(Is a Directory)解决办法
  • linux查看shell脚本内容
  • unity 5.4
  • JavaScript中的NaN代表什么
  • python中字典怎么用
  • jquery的核心函数
  • android权限管理
  • eclipse的ssh框架搭建
  • 无偿划转暂行规定
  • 成都税务举报官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设