支付宝PHP版本5.3兼容
2018-03-12 18:44
399 查看
PHP5.3 支付宝会报这两个错
Use of undefined constant OPENSSL_ALGO_SHA256 - assumed 'OPENSSL_ALGO_SHA256'
Use of undefined constant JSON_UNESCAPED_UNICODE - assumed 'JSON_UNESCAPED_UNICODE'
解决方案
1. php 5.3 没有这个,那么 只需要 OPENSSL_ALGO_SHA256 改为 "sha256WithRSAEncryption"
2.json_encode 自己写个function ,不用PHP自带的json_encodefunction my_json_encode($array)
{
if(version_compare(PHP_VERSION,'5.4.0','<')){
$str = json_encode($array);
$str = preg_replace_callback("#\\\u([0-9a-f]{4})#i",function($matchs){
return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
},$str);
return $str;
}else{
return json_encode($array, JSON_UNESCAPED_UNICODE);
}
}
Use of undefined constant OPENSSL_ALGO_SHA256 - assumed 'OPENSSL_ALGO_SHA256'
Use of undefined constant JSON_UNESCAPED_UNICODE - assumed 'JSON_UNESCAPED_UNICODE'
解决方案
1. php 5.3 没有这个,那么 只需要 OPENSSL_ALGO_SHA256 改为 "sha256WithRSAEncryption"
2.json_encode 自己写个function ,不用PHP自带的json_encodefunction my_json_encode($array)
{
if(version_compare(PHP_VERSION,'5.4.0','<')){
$str = json_encode($array);
$str = preg_replace_callback("#\\\u([0-9a-f]{4})#i",function($matchs){
return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
},$str);
return $str;
}else{
return json_encode($array, JSON_UNESCAPED_UNICODE);
}
}
相关文章推荐
- php5.2 、5.3、5.4、5.5、5.6 各个版本升级不兼容点
- AMFPHP1.4与PHP5.3及以上版本不兼容问题的解决
- php5.2 、5.3、5.4、5.5、5.6 各个版本升级不兼容点
- 自己写的兼容低于PHP 5.5版本的array_column()函数
- [PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点
- 从阿里云的web一键安装包环境,升级PHP版本5.2到5.3的经验
- PHP5.3版本安装
- CentOS 5.4 通过yum升级PHP到5.3版本的两种方法
- 在PHP5.3以上版本运行ecshop出现的问题及解决方案
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。
- 都是 htmlspecialchars的错,解决 织梦cms dedecms 标题不能为空 不支持php5.3 php5.4 php5.5版本
- phpmyadmin3.0 在php5.3版本下的使用
- linux+php5.3版本出现错误死锁解决
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5 ,PHP5.6)支持。
- 修正ECMALL在PHP5.3以上版本中无法开启支付方式的BUG
- PHP 5.3 与老版本函数差异总结
- AMFPHP1.4与PHP5.3及以上版本号不兼容问题的解决
- php5.5以上版本curl上传图片(兼容php5.5以下版本)
- php5.3以前的版本安装出现Fatal error: Call to undefined function mysql_connect()
- WDCP升级到PHP5.3版本