写在前面
版本迭代,网上很多解决方法都失效了,在此记录一下。
版本:PHP7.4+MySQL8.0
PHP安装可参考:PHP安装配置(Windows和Linux)-一篇就够了
Apache安装可参考:Apache安装配置(Windows和Linux)-有手就行
mysqli扩展
Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in D:\tools\Apache24\htdocs\UIUE\index.php:6 Stack trace: #0 {main} thrown in
PHP7之后就移除了mysql扩展(可以自己打补丁 ),而是推荐使用mysqli扩展和pdo_mysql。
启用mysqli扩展:
-
在PHP安装目录下以记事本方式打开pgp.ini
-
搜索
extension=mysqli
,去掉前面;
-
搜索
extension_dir
,修改/ext所在位置
然后建议重启下Apache -
测试
<?php
phpinfo();
?>
(
插播反爬信息)博主CSDN地址:https://wzlodq.blog.csdn.net/
MySQL权限
Warning: mysqli_connect(): (HY000/1045): Access denied for user ‘root’@‘localhost’ (using password: YES) in D:\tools\Apache24\htdocs\UIUE\index.php on line 6
Error: Unable to connect to MySQL. Debugging errno: 1045 Debugging error: Access denied for user ‘root’@‘localhost’ (using password: YES)
- 修改root密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
- 授权
grant all privileges on *.* to root@localhost;
flush privileges;
测试
<?php
$servername = "localhost";
$username = "root";
$password = "password";//改成你的密码
$link = mysqli_connect($servername, $username, $password);
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db database is great.\n" . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
至此PHP就成功连接MySQL了o(* ̄▽ ̄*)o,mysqli相关用法可查官方文档。
原创不易,请勿转载(
本不富裕的访问量雪上加霜)
博主首页:https://wzlodq.blog.csdn.net/
微信公众号:吾仄lo咚锵
如果文章对你有帮助,记得一键三连❤