PHP 升级5.6版本后遇到的问题
来源:互联网 发布:淘宝买家改差评 编辑:程序博客网 时间:2024/05/20 01:10
PHP版本从5.4升级到5.6版本以后,有一些常见的问题,提出来跟大家分享下:
json_decode 失败
5.6后版本的PHP,JSON处理数据时,遇到非UTF-8特殊字符,会直接返回false,之前则是会将特殊字符转化为NULL。这样会导致JSON无法解压/压缩数据成功。
解决方案: 在JSON处理之前,先遍历数据,统一将编码转为UTF-8。
mcrypt_encrypt 加密失败
当参数密钥key长度大于8位时,函数返回false,PHP 5.6版本后,不再接受无效长度的 key and iv 参数
如果参数密钥key长度大于8位,mcrypt_decrypt() 函数会产生警告并且返回 FALSE,导致加密失败。
解决方案: 将密钥长度截取到8位,这样能兼容5.6后的PHP版本。
curl模拟post上传文件不能通过@文件来进行上传了
5.5之前都可以通过@/tmp/test.jpg这样的方式直接上传,5.5之后,CURLOPT_SAFE_UPLOAD默认为true,不能通过@文件上传了。
解决方案: 将curl句柄 CURLOPT_SAFE_UPLOAD 设置为false。
$ch = curl_init();$data = array( ‘i’ => ‘@/Users/zmx/Desktop/demo.jpg’, ‘q’ => 80, ‘t’ => ‘160×160′,);curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);curl_setopt($ch, CURLOPT_URL, $upload_api);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_HEADER, 1);$result = curl_exec($ch);curl_close($ch);
或者改用 CURLFile 类 http://php.net/manual/en/class.curlfile.php
mysql_connect 连接数据库失败
PHP5.5以后,mysql扩展已经被移除,现在只能使用mysqli和pdo连接mysql数据库。
解决方案: 将mysql扩展换为mysqli或者pdo以兼容新版PHP。
0 0
- PHP 升级5.6版本后遇到的问题
- Android Studio2.2版本升级后遇到的问题汇总
- struts升级到最高版本后遇到的问题。关于actionmessage传递问题。
- 升级ruby版本遇到的一些问题
- node升级版本遇到的问题
- 升级雪豹后遇到的问题
- oracle11g升级后遇到的问题
- 升级Xcode7+后遇到的问题
- 升级Xcode7后遇到的一些问题
- Xcode7 升级后遇到的问题
- iOS版本升级后的问题
- xcode7升级后遇到问题
- 自动发布工具版本从python2升级成python3后遇到的种种问题(涉及paramiko,Crypto,zipfile等等)
- 升级mongo3.2.1后遇到的数据重复的问题
- resin3.0升级到3.1版本遇到的问题
- android studio 版本升级及迁移遇到的问题
- centos升级gcc版本遇到的一些问题
- 升级Android支持库版本遇到的两个问题
- jmeter性能测试基本操作
- iOS10--CallKit的简单应用
- gzip,deflate,zlib辨析
- 修改摄像头分辨率并发布Topic
- 项目运行时上下有黑边
- PHP 升级5.6版本后遇到的问题
- Apache Veloctiy模板引擎示例
- 图像特征— —SURF特征
- OpenCv中FileStorage类读写XML文件的示例Demo
- argparse库 学习记录
- ServiceManager 进程启动源码分析
- linux下shell for 循环执行不等待php脚本返回
- C++你不知道的那些破事儿—C++语言的15个晦涩特性
- 我的第一篇博客