Linux上php连接mysql,引发Uncaught Error: Call to undefined function mysql_connect()等问题

在Linux环境中,使用PHP 7.2.11尝试通过nginx连接MySQL 8.0.20时遇到`Uncaught Error: Call to undefined function mysql_connect()`错误。问题源于PHP 7中弃用了mysql_connect()函数。将代码中的mysql_connect()替换为mysqli_connect()并相应地更改mysql_close()为mysqli_close()后,新的错误`PHP Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]`出现。此错误是由于MySQL 8默认使用了新的身份验证方法。解决方法包括修改MySQL配置文件添加相关条目并重启服务,或参照其他博主的解决方案进行用户重新授权。
摘要由CSDN通过智能技术生成

环境:nginx已安装好, php-fpm已安装好,mysql Ver 8.0.20 ,php-mysqlnd.x86_64, PHP 7.2.11

在nginx的站点目录中创建了一个PHP测试连接mysql的代码文件:

<?php

$link = mysql_connect('127.0.0.1', '账户名', '密码');

if (!$link) {
    die('Could not connect: ' . mysql_error());
}

echo 'Connected successfully';

mysql_close($link);

点击在浏览器地址栏上输入相应文件地址后可以一键访问,却出现了错误页面,去/var/log/php-fpm/www-error.log下查看出错原因,提示 PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect()

参看官方介绍:在这里插入图片描述
mysql_connect 函数作用是打开一个到 MySQL 服务器的连接,自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除,我的PHP版本是7的,按照要求我这里替换了mysql_connect()为mysqli_connect(),但要注意的是,对应的mysql_close函数(关闭先前打开的数据库连接)也应更改,改成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值