位置: 编程技术 - 正文

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

  • 增值税发票勾选确认后可以撤销吗
  • 临时性雇佣人员是指
  • 报税日期是哪月哪天?
  • 小规模要交增值税怎么计提
  • 一般纳税人的增值税税率有哪些
  • 生产设备租赁费计入什么科目
  • 环保税退税优惠政策
  • 工资结算汇总表会计科目
  • 房地产企业营销设施建造费包括哪些
  • 固定资产后续支出资本化和费用化
  • 增值税留抵退税政策2022
  • 冲销暂估入库如何做会计核算?
  • 与成本直接相关的工资怎么会计处理?
  • 公司向贷款公司贷款做账分录
  • 收购个人独资企业的税收
  • 携税宝的费用可以全额抵扣吗
  • 财务费用负数是什么意思
  • 现金支票怎么背书转让
  • 借老板的现金存入银行怎么做账?
  • 在建工程一次还是多次
  • 计提附加税的会计分录怎么写
  • 汇算清缴发票可以做费用票吗
  • 1697508933
  • 商家不给发票可以报警吗
  • 怎么设置静音iphone
  • 工资一直计提但是未发有影响吗
  • 收到政府财政拨款用于购买生产设备
  • 银行初级证书全称
  • 建立无法轻易删除的数据
  • linux怎么设置读写权限
  • 代收代付款项入账需要什么资料
  • 存货 计价
  • 收到政府的补助交所得税么
  • 用vue做的登录界面
  • 关于php文件的自动播放
  • 债务重组收入属于什么科目
  • 购进原材料款项未付应编制什么凭证
  • 费用类和成本类有哪些
  • 网上报税优点与缺点
  • 预收账款未发货会计分录
  • vscode主题插件护眼
  • python 记录日志
  • 增值税及附加税费申报表附列资料一
  • 增值税纳税申报表附列资料(一)
  • 工会经费到底怎么算
  • 背书的银行承兑汇票怎么做账
  • 暂估入库的商品怎么做账
  • 成本计算的方法定额法
  • 公司配股对股价的影响
  • 事业单位之间
  • 有限合伙企业应纳税所得额的计算
  • 小规模纳税人标准500万是含税吗
  • 装修费用摊销是指什么
  • 企业共同控制持股比例怎么算
  • 购买天然气进项税额
  • 数据库sql server
  • node使用mysql
  • the bluetooth device is ready to pale
  • 多种工具安装系统怎么用
  • xp系统1
  • linux -al
  • slpv24s.exe - slpv24s是什么进程
  • Win10预览版拆弹
  • linux磁盘的使用方式
  • win7怎么多分出一个盘
  • linux安装编译工具
  • win8的系统
  • win10商店没有图标
  • 写一个bat文件
  • jquery 设置css
  • Node.js中的什么模块是用于处理文件和目录的
  • Android中dip、dp、sp、pt和px的区别
  • python错误和异常处理
  • 砂石需要缴纳资源税吗
  • 对税务稽查工作的意见和建议
  • 核定征收,新企业怎么填
  • 重庆电子税务局电话人工客服电话
  • 国税局内设机构
  • 吉林省耕地面积有多少万亩
  • 北京市朝阳区地税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设