php5 升级 php7 版本遇到的问题处理方法总结
为了能够更好的提升系统的安全性,把原来的进销存系统源码升级,遇到了一些问题在这儿总结一下:
1.mysql引擎在php7中不在支持会导致以下错误
Uncaught Error: Call to a member function init() on null 。
其实在init()函数中,有extension_loaded("mysql"),即加载mysql扩展导致的,需要改为mysqli,不过后面的mysql操作函数都需要改成mysqli的对应类型。
2.Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP;
Smarty has a deprecated constructor in /www/platform/library/Platform/View/Smarty/Smarty.class.php
[引自原文]:https://blog.csdn.net/sanbingyutuoniao123/article/details/78614077
原来是smarty模板类还是使用了php4的构造函数的写法,所以找到smarty类后,找到与类同名的函数,将函数名改
为__construct即可。
PHP OOP使用和类名相同的方法名作为构造方法,是 PHP4 的写法,PHP 5中同时支持__construct和类同名方法,但__construct方法具有优先性。
PHP 7开始使用和类名相同的方法名作为构造方法会报E_DEPRECATED级别的错误,提示在未来版本中会彻底抛弃类同名方法作为
构造函数。但程序仍然会正常执行。
<?php
class a{
function a(){ // 此处改为 function __construct() }
}
?>
3.Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP)
在php7中,MYSQL_ASSOC不再是一个常量,将 MYSQL_ASSOC改为MYSQLI_ASSOC,意思是mysqli的方式提取数组,而不再是mysql 。(原因:mysql_fetch_arrayhan函数转为mysqli_fetch_array,参数没有修改)
4.汉字显示为???(问号) 的解决办法
mysqli_query($conn,'set names utf8');在使用mysqli_query()查询数据的时候,最好指定字符的编码
php5 升级 php7 版本遇到的问题处理方法总结的更多相关文章
- centos php5.4 升级 php7
接上篇,edusoho需要php5.5以上版本,于是需要升级本地php php是通过yum默认安装的.以下安装参考 link https://blog.csdn.net/u012569217/arti ...
- wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)
首先需要搭建的版本可以在php官方(http://windows.php.net/download)下载对应的版本,X86对应的是32位操作系统,X64对应的是64位操作系统. 1:下载 ...
- 车轮升级PHP7踩过的一些坑
社区php7升级记录 社区服务器已经全部完成升级,这里记录一下社区升级php7所遇到的问题,可以分为四个类型 扩展支持的变化,导致需要修改配置甚至调整替换操作的类库 php7语法检查比之前变得严格,部 ...
- WAMP本地环境升级php版本--第二次尝试
wamp 环境下 php5.6.25 升级php7.1.17 实践 本文参考:https://www.cnblogs.com/hubaohua1588/p/6884146.html来进行操作. 1.从 ...
- wdcp升级php版本到5.3,5.5
官网省级方法 wget http://down.wdlinux.cn/in/php_up53.shsh php_up53.sh 看到"php update is OK"提示表示,顺 ...
- PHPNow升级PHP版本为5.3.5的方法
在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择,这篇文章主要为大家分享下如果将phpnow的php版本升级为5.3.5 在WIN上有时候需要测试一些 ...
- PHPNow升级PHP版本的方法
在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择. PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22,PHP5.2对于现在 ...
- CentOS6.x升级MySQL版本5.1到5.6
CentOS6.x升级MySQL版本5.1到5.6 分类: Web MySQL 2014-08-04 11:22 2813人阅读 评论(1) 收藏 举报 mysql云服务器升级centos6 有一些虚 ...
- PHPNow升级PHP版本
PHPNow升级PHP版本 phpnow下载地址:http://www.jb51.net/softs/12868.html 1,先把PHP5.3.5下载下来,在官网我是没找到VC6的版本,只能从Goo ...
随机推荐
- 【FFT卷积】BZOJ3527-力
[题目大意] [思路] 很好这很FFT…… 想了半天也没明白到底什么是卷积∑的上下界,我当初学的时候没说一定要从0开始啊quq 我还是背不出FFT的模板我要狗带了 我上面写的什么乱七八糟的,要什么数学 ...
- PHP数组和数据结构(上)
1.数组的声明 两种方法: 直接给数组元素赋值 使用array()函数声明 说明: (1)索引数组的下标可以是非连续的值,只要在初始化时指定非连续的下标值即可 如果指定的下标值已经声明过,则属于对变量 ...
- java接入极光推送
直接提供工具类, 调用时直接调用其 sendToRegistrationId() 方法 1 import cn.jiguang.common.resp.APIConnectionException; ...
- 分公司下拉框赋值-从后台传到前端jsp
我的旧代码 List<MetaBranchCfg> list = metaBranchCfgBO.queryAllBranchList(); request.setAttribute( ...
- es6,async简单总结
1.简单来讲就是把函数变为异步操作的 async function demo() { let result = Math.random(); console.log(result); } 2.asyn ...
- JAVA常见算法题(二十八)
package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * ...
- codeforces#277.5 C. Given Length and Sum of Digits
C. Given Length and Sum of Digits... time limit per test 1 second memory limit per test 256 megabyte ...
- 【Linux C 多线程编程】互斥锁与条件变量
一.互斥锁 互斥量从本质上说就是一把锁, 提供对共享资源的保护访问. 1) 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态 ...
- nmap原理及使用方法
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包. 1简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断 ...
- python命令行添加自动补全和命令历史功能
# python startup file import readline import rlcompleter import atexit import os # tab completion re ...