升级到php-7后出现“Call to undefined function mysql_connect()”错误

65

我将php5升级到php7后,遇到500错误:

PHP致命错误:未捕获的错误:调用未定义的函数mysql_connect()

为了立即获取php7,我将以下内容添加到我的apt源中:

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

我基本上做的是:

apt-get remove php5
apt-get install php7-*

我正在使用当前版本的Debian Jessie。

但我仍然遇到了这个问题。这里有很多相关问题,我肯定都查看过了。但是我还没有在那里找到答案。


15
MYSQL从5.5开始已被弃用,在PHP 7中完全移除。现在可以使用MYSQLi和PDO库来连接MySQL数据库。为了将所有旧应用程序迁移到新的非MYSQL方式,需要2-3年时间。 - Svetoslav
我认为在尝试迁移到PHP7之前,您需要阅读并消化PHP7的发布说明以及迁移说明。现在它已经变成了一个非常不同的东西。 - RiggsFolly
3
为什么会有这么多踩?这个人问了一个合理的问题,而且得到了一个合理的答案! - Jan Steinman
2
您可以手动安装mysql扩展,并且它与PHP7兼容-请参见https://github.com/php/pecl-database-mysql - David Goodwin
就像@JanSteinman所说的那样。我根本不知道mysql_已经被弃用了,因为在PHP方面我落后了很多。 - bytecode77
显示剩余2条评论
1个回答

88

来自PHP手册:

警告:该扩展在PHP 5.5.0版本中被弃用,并且在PHP 7.0.0版本中已被删除。应使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南。该函数的替代方法包括:

mysqli_connect()

PDO::__construct()

使用 MySQLiPDO
<?php
$con = mysqli_connect('localhost', 'username', 'password', 'database');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接