位置: 编程技术 - 正文

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

  • 股票印花税计算公式
  • 企业变更法人的流程网上申请变更
  • 没有增值税发票怎么做账
  • 二手房交易税费最新规定
  • 旧设备换新设备文案
  • 库存品种
  • 应收账款已收回但是账面还有余额怎么处理
  • 支付专家劳务费什么意思
  • 公司亏损没有收入怎么办
  • 房租发票进项税可以抵扣吗
  • 工会经费可以不提吗
  • 旅行社会议主持开场
  • 小规模销项负数怎么报税
  • 利润调整分录
  • 如何绕开压缩包密码
  • 笔记本windows10截屏
  • 买一个金蝶软件年费多少
  • 公转私用途最好写借款
  • 费用发票可以不上账吗
  • 应收票据冲转是什么科目
  • 另一种答案
  • linux多网卡聚合
  • 固定资产后续支出资本化和费用化
  • 门面出租赚钱吗
  • 阿圭罗来自哪里
  • 鸟瞰画面
  • 门诊部需要药品经营许可证吗
  • php错误和异常
  • 研发支出属于哪个表
  • 转让企业要交什么税
  • 训练自己的GPT
  • IDEA 2022专业版创建Java Web项目(保姆式小白讲义,强烈建议入手!)
  • 期权增发是什么行业
  • 入库税款异常是啥意思
  • 社会团体收取的会费是否缴纳企业所得税
  • 城市维护税暂行条例
  • 企业官网用什么系统
  • 织梦系统
  • php访问mysql数据库函数
  • 织梦官方网站
  • 缴纳增值税的营业收入
  • 让渡资产属于什么
  • 甲供材入账
  • 递延所得税资产和负债怎么计算
  • 企业所得税报表查询怎么查
  • 金税盘技术服务费怎么交费
  • 收到单位借款如何入账
  • 普票部分红冲发票需要收回原发票吗
  • 进项税额是怎么算的
  • 离线开票时间超限怎么办 发票都已经报送
  • 应收账款的财务指标有哪些
  • 红字冲红什么意思
  • 个人所得税专项扣除需要交钱吗
  • 确定固定资产的标准
  • 填收入与成本明细怎么填
  • 深入3DSTUDIOMAX
  • sqlserver获取数据库名
  • win8关闭触屏
  • virtualbox安装win7详细教程
  • linux中的find的用法
  • windows10x预览版
  • 远程电脑屏幕桌面图标什么都没有了
  • win8自动启动项怎么设置
  • Linux系统下的Samba客户端配置
  • 怎么快速更换苹果手机壁纸
  • win7电脑关机出现0xc0000142是什么原因
  • windows8使用技巧
  • js动态表格可修改表格数据
  • node 获取当前时间
  • 正则批量匹配
  • android studio官网
  • python xml 解析
  • jquery查找节点
  • win7怎么装python3.8
  • 河北地方税务局吴瑜
  • 网上税务营业厅
  • 建行信用卡怎么提额
  • 所得税的核定征收方法
  • 车辆登记指的是什么
  • 房屋租赁税房东不承担怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设