位置: 编程技术 - 正文

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搭建)

  • 含税金额与不含税金额的换算
  • 税务师考试各科老师推荐
  • 企业一般纳税人是什么意思
  • 无形资产出资入股流程
  • 空调的折旧年限和残值率
  • 现金股利缴纳个人所得税
  • 个人签租车协议有法律效力吗
  • 公司补缴社保协议书
  • 工程项目的存货含哪些科目
  • 大病医疗保险能税前扣除吗
  • 增值税专用发票和普通发票的区别
  • 无收入证明需要哪些手续
  • 所有逾期未抵扣进项税额
  • 收回已作为坏账准备的应收账款会计分录
  • 打折销售商品会计分录
  • 特殊销售方式下销售额的确定
  • 个体工商户多久不用自动注销
  • 一般纳税人旅游服务差额征税税率
  • 企业所得税怎么做
  • 考勤扣款是税前还是税后
  • 发放职工福利的会计科目
  • 母公司代付子公司费用的委托书
  • 小规模超过30万是全额交税吗
  • 金蝶怎么打开以前的年度账
  • 1697511215
  • 申报个税是按哪个月的工资表
  • 采购费用应计入材料采购成本
  • 开了红字发票销售方应怎么账务处理?
  • 社保公积金代缴
  • win10专业版19042.630
  • 办公家具折旧年限及计算方法
  • 鸿蒙系统怎么设置屏幕不休眠
  • 收到完税凭证怎么做账
  • mac 快速切换输入法
  • 销售退回会计处理与税务处理
  • 最贵的手机苹果
  • phpinfo页面
  • 商品销售税金及附加包括哪些
  • LangChain与大型语言模型(LLMs)应用基础教程:信息抽取
  • win11开机后开始菜单没反应
  • web开发 python
  • 异步函数执行顺序
  • php jsonp
  • php图像识别
  • php返回数组
  • php 输出
  • 独立的分公司可以注册吗
  • 关于低值易耗品的说法中不正确的是
  • 企业给企业借款收入会计处理
  • dede织梦怎么转成zblog
  • 清算汇缴报表填写范本
  • 计提坏帐包含其他收入吗
  • 个税专项附加扣除标准调整
  • 劳务费应该怎么做会计分录
  • 没有发票的费用怎么报销
  • 计提折旧是哪个月的
  • 内部往来科目设置在哪类下
  • 非公司股东可以分红吗
  • 主营业务利润率反映了企业的什么能力
  • 税交多了可以退吗
  • 公司车还车贷计入什么科目
  • 企业搬迁补偿款免税的法律依据是什么
  • mysql 树状查询语句
  • win8怎么禁用更新
  • win7系统无法进入登录界面
  • win7系统如何查看内存条型号
  • win10玩饥荒
  • 翻转动画怎么做
  • opengl update
  • android网络编程题库
  • javascript例题
  • JavaScript中的变量名不区分大小写
  • 保险的佣金一般是多少
  • 深圳北站哪里取纸质票
  • 陕西电子税务电话是多少
  • 湖北职称网上申请流程
  • 云南新农合怎么报销的
  • 退契税的时间是什么时候
  • 吉林省会考成绩查询入口网站官网
  • 零申报印花税的应税凭证名称怎么填写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设