位置: 编程技术 - 正文

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

  • 免抵退税办法不得抵扣的进项税额
  • 工业企业销售收入税率
  • 建筑业小规模纳税人 扣除分包款 开票
  • 冲红的发票要拿回来吗
  • 科目错一题扣几分
  • 福利费进项税额转出会计分录账务处理
  • 自己可以缴纳社保吗
  • 会计信息采集审核需要多久
  • 企业合并有几种
  • 登记多栏式日记总账的依据是
  • 车间领用材料应填制什么凭证
  • 年度结转之前需要做什么
  • 溢价收购怎么做账
  • 代办企业开户
  • 技术转让所得减半征收计算
  • 资产损失申报方式
  • 购买免税苗木抵税分录
  • 哪些资产减值损失可以 转回,哪些不能?
  • 不合规发票有哪些风险
  • 出租柜台收取的服务费
  • 取得劳务收入的会计分录
  • 开启共享文件夹
  • 外经证核销办理流程图
  • 无形资产有哪些摊销方法
  • 公司强制要求转部门合法吗
  • linux系统查询mac地址命令
  • 向房东要押金的不犯法的妙招
  • 享受企业所得税优惠政策的农产品初加工范围
  • 微软商店 低价区
  • php处理图片需要什么扩展
  • 增值税普通发票和专用发票有什么区别
  • 小规模纳税人的个人所得税怎么算
  • 年终结算啥意思
  • 会计账务处理年限规定
  • opencv canny
  • 以摊余成本计量且其变动计入当期损益
  • 高速发票看不见金额怎么办
  • 高德地图的2种导航方式
  • phpcms文档
  • 应交税费下的科目设置
  • 认缴制对实务操作的可能影响有哪些?
  • 差旅费必须填写差旅费报销单吗
  • 驱动开发做得长久吗
  • mysql基本语法
  • 租店铺需要什么流程需要注意什么事项?
  • 矿产资源补偿费计入管理费用吗
  • 有哪些发票可以报销
  • 异价调拨什么意思
  • 疫情防控重点保障物资生产企业可以按月
  • 工程前期费用包含哪些
  • 计提以前年度应付股利的分录
  • 母公司代发子公司工资,子公司申报个税
  • 预付账款属于哪一类账户
  • 小规模普票收入要交税吗
  • 跨年补提城建税
  • 小企业如何做
  • 隔离模块与隔离模块如何连接?
  • windows许可证即将过期怎么办知乎
  • windowsxp搜索不到文件
  • 手工设置源泉设计
  • xp系统有什么用
  • 怎么把html转换成psd
  • win1020h2版本要更新多久
  • win7如何设置计算机自动开机
  • 系统闹钟设置
  • win8wifi设置在哪
  • linux filezilla使用教程
  • jquery中attr和prop
  • 用css制作网页的步骤
  • 自动监测和在线监测一样吗
  • jquery 报表
  • jquery的validate前端表单验证
  • jquery easyui插件
  • listview
  • html js怎么调用
  • Python selenium 三种等待方式解读
  • 安卓网络管理类app
  • 个人可以到税务开物业费的
  • 税务局要求补上年房租开票
  • 个人所得税怎么填写子女教育
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设