开发过程中遇到,同一个接口在不同环境下返回格式不一致的问题。由于前端使用TypeScript开发,对数据类型敏感,本来应该是int型的数据,接口返回格式表示却为string型,导致运行报错。
由于在本地测试没有问题,在服务端返回错误,基本确定为开发环境导致的错误。通过在网上搜索相关类型的问题,得出是 mysql
引擎返回数据时导致的问题。
可能导致该问题的原因有:
PDO
进行链接时的参数设置:ATTR_EMULATE_PREPARES = false
,ATTR_STRINGIFY_FETCHES = false
php
扩展安装不正确:php-mysql
扩展换成php-mysqlnd
本人遇到的情况属于第二种,第一种情况并未做进一步测试,替换成功后问题解决。1
yum remove php71w-mysql && yum install -y php71w-mysqlnd