位置: 编程技术 - 正文

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

  • 结转增值税会计摘要
  • 专利年费是不是只能一项一项交
  • 支付招标代理费需要哪些资料
  • 小规模纳税人支付的增值税
  • 增值税一般纳税人证明怎么查询
  • 申报怎么打印
  • 货币资金核算的调查报告
  • 破产企业公司还要交税吗
  • 员工扣款个税如何做账
  • 装修发票是什么发票
  • 企业所得税纳税申报表A类
  • 普票开错了能退税吗
  • 企业收到进项发票
  • 服务性行业受气
  • 申报工伤的流程及时间
  • 金蝶迷你版年结账套怎么结转下年
  • 公益性捐赠包括向脱贫地区捐赠吗
  • 吸甲醛最好的植物是什么?
  • 开发票时已交的税金怎么做帐?
  • 员工报销可以从一般账户转出吗
  • 个人所得税专项扣除子女教育标准
  • 非一般纳税人可以抵扣吗
  • windows太阳谷更新
  • PHP 中dirname(_file_)讲解
  • 商业自持店铺出租合法吗
  • 商品换购是什么意思
  • mini program是什么
  • 字典树python
  • 农村个体户需要报税吗
  • 注销报税是什么意思
  • 小规模纳税人减免增值税会计处理
  • win11硬件加速gpu计划怎么关
  • program status
  • 职工食堂资金管理办法
  • 融资租入固定资产的改建支出
  • 工资应纳税额怎么算
  • 软件开发企业如何核算成本
  • 四舍五入 vb
  • 建筑施工企业收入怎么确认
  • 资产减值损失属于
  • 汽车修理费用会计分录
  • 收据十万大写金额填写样本
  • 工资薪金可以抵扣增值税吗
  • 小规模卖固定资产怎么开票
  • 增值税期末有留抵税额应该怎么结转
  • 项目评审结果
  • 收取的招标资料费增值税税率
  • 其他应付款能否直接做实收资本的账务处理
  • 建筑企业包工包料业务的发票开具和涉税处理
  • 材料报废处理
  • 旅游饮食服务企业的特点包括
  • sysbench测试mysql,自带的测试套
  • sql语句大全实例教程.pdf
  • windows 2000 server系统安装图解
  • centos作用
  • xp电脑注册表怎么打开
  • mac怎么自定义桌面图标
  • 为避免10月20号后盗版系统出现黑屏的bat文件
  • windows7桌面右击
  • ExtJS 2.0实用简明教程 之ExtJS版的Hello
  • 3dmax创建图形怎么用
  • jq拖拽div替换位置
  • node:js
  • 基于android的app
  • linux timeline
  • css中边界margin的多种定义方法
  • appendChild() 或 insertBefore()使用与区别介绍
  • bash foreach
  • 批处理列出文件名
  • python给定某数字a
  • Linux 中的cat命令
  • javascript高级语言
  • js判断路径下图片是否存在
  • go语言websocket
  • Python黑魔法手册
  • 保险的佣金一般是多少
  • 2020年税务口号
  • 税务局开展税收宣传
  • 德阳契税2021年新规
  • 税务稽查的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设