位置: 编程技术 - 正文

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

  • 建筑企业交税流程
  • 增值税发票税控开票软件怎么下载
  • 税金及附加怎么记忆
  • 简易计税征收率是多少
  • 机动车销售统一专票图片
  • 不征税收入计入应纳税所得额吗
  • 民办非企业捐赠承诺书
  • 发票验证码和校验码是一样的吗
  • 个体商户多少钱需要报税
  • 小微企业免税计入什么科目
  • 应收银行存款利息怎么算
  • 营改增后无形资产的出租和出售都属于增值税纳税范围
  • 应收留抵税额退税款科目是资产类
  • 费用分摊怎么算
  • 房地产开发企业销售自行开发的房地产项目
  • 没有进项的产品开了发票怎么办
  • 公司年会增值税专用发票可以抵扣吗?
  • 增值税专用发票可以开电子发票吗
  • 加速折旧税收优惠
  • 固定资产无形资产折旧时间起始
  • 科技型中小企业享受优惠税收政策2023
  • 怎样理解递归
  • 当年亏损可以用以前年度来弥补吗
  • 企业汇算清缴后税务局会不会查
  • 通讯费补贴要交税吗
  • 企业的不征税收入用于支出所形成
  • 先计提房租后收到发票 发票附在哪
  • 计提的利息收入交所得税吗
  • 小型微利企业的企业所得税优惠政策
  • 企业去银行办理贷款需要什么
  • 退回多缴税款账务处理
  • 怎么用winpe安装系统
  • 进程控制块PCB不包括( )
  • 管理费用的会计编码
  • 当月工资个税怎么算
  • 实行核定征收印花税的纳税期限为一个月税额较小的
  • 微信小程序解决跨域问题
  • Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例
  • pc端微信扫码支付
  • 应收账款项目在资产负债表怎么填列
  • 企业合并支付的资产评估费计入
  • 公司的土地
  • 专项储备怎么理解
  • 网络安全网页设计作品构思
  • 前端工程化解决方案
  • 卷积神经网络课程
  • unmount命令详解
  • php curl_setopt
  • phpcms怎么用
  • 完美破费是什么意思
  • 行政单位核销其他应付款分录
  • 交易性金融资产公允价值变动计入
  • 进口消费税应该记到什么科目
  • 无偿调入固定资产怎么入账
  • 税收分类口诀
  • 未缴增值税的贷方
  • 无票收入增值税怎么申报
  • 存货报废进项税转出吗
  • 所得税费用影响当期损益吗
  • 简易征收的项目进项税可以抵扣吗
  • 委托加工商品属于什么资产
  • 展会赠品
  • 代理记账需要什么章
  • Windows Server 2008下利用Diskpart管理磁盘
  • 如何在ubuntu下安装和配置gcc并用C语言
  • windowsxp如何清理磁盘
  • win7系统怎么调鼠标
  • Win7系统重装后鼠标键盘不能用怎么办
  • linux配置ssh服务器 用户名
  • python中的
  • react.development.js
  • nodejs开发web
  • Unity AssetBundle爬坑手记
  • 国税局事业编制和公务员哪个比较好
  • 武汉市契税减免政策
  • 国家税务总局河北地税局
  • 票种核定在电子税务哪里查
  • 签订设计合同
  • 请问在哪里可以培训护工
  • 转卖车辆车船税多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设