php - 如何查看 mysql_connect 失败的原因?
问题描述
我已经安装了 Linux (Mint) & LAMP 但是
mysql_connect('localhost', 'user', 'password')
无论我尝试什么都失败了。
我花了至少 6 个小时试图修复它。
phpinfo()
正在工作中
sudo mysql -u user -p
作品
sudo ufw status
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
3306 ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
3306 (v6) ALLOW Anywhere (v6
我还能尝试什么?我该如何调试?我已经在谷歌上搜索了几个小时。唯一不标准的是我安装了 php 5.6,因为我需要它,“php -v”返回:
PHP 5.6.40-30+ubuntu20.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologie
解决方案
如果你真的需要使用mysql_connect
那个旧 PHP:
https://www.php.net/mysql_connect的第一个示例显示了您如何查看错误...我不确定您在哪里度过了这 6 个小时 :)
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error()); // MAGIC LINE
}
echo 'Connected successfully';
mysql_close($link);
?>
我的建议以及其他所有人的建议是(正如您问题下的评论所建议的那样):升级到 PHP7.4,然后使用适当的 PDO/Mysqli 连接器
推荐阅读
- javascript - 默认情况下,Firestore 可以为离线(和未经身份验证的)用户在 IndexedDB 中存储数据吗?
- amazon-web-services - Terraform - Count.index 和 String 在一起
- r - RSelenium 无法在带有下拉列表的页面上找到元素
- java - Spring Data JDBC - 多对一关系
- javascript - React onChange 处理状态对象
- macos - 为什么除非我删除以前的可执行文件,否则使用 x86_64 构建系统构建的本机 arm64 应用程序无法进行代码签名?
- xml - 如何将纯空白元素读入 QDomDocument?
- node.js - 如何使用 Axios 测试 HTTP Only Cookie Set
- python-3.x - Python ThreadPoolExecutor 不运行最大
- java - bndtools 是 OSGI 捆绑包的未来捆绑工具吗?