PHP没有从web上看到mysql.sock
我有一个连接到localhost中的MySQL数据库的脚本,当我从控制台运行它时,它运行得很好,但是当我从web运行它时,我得到以下结果:PHP没有从web上看到mysql.sock,php,mysql,Php,Mysql,我有一个连接到localhost中的MySQL数据库的脚本,当我从控制台运行它时,它运行得很好,但是当我从web运行它时,我得到以下结果: Warning: mysqli_connect(): (HY000/2002): No such file or directory in /var/www/html/tests/mysql.php on line 3 错误:无法连接到MySQL。调试错误号:2002调试错误:没有这样的文件或目录 我检查了我的php.ini文件,它的正确位置是mysql.
Warning: mysqli_connect(): (HY000/2002): No such file or directory in /var/www/html/tests/mysql.php on line 3
错误:无法连接到MySQL。调试错误号:2002调试错误:没有这样的文件或目录
我检查了我的php.ini文件,它的正确位置是mysql.sock,该文件存在,但php不会通过web连接
另外,我有禁用防火墙的FedoraLinux和SELinux,所以我不知道是什么导致了这种情况
这是我正在使用的测试代码:
<?php
$link = mysqli_connect("localhost", "root", "password", "my_db");
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." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
有什么想法吗?发布一个代码示例来演示这个问题。第3行是什么代码?不要将你的代码作为注释发布,编辑你的问题并将其标记为代码,以便正确显示。正如你所看到的,第3行没有任何内容,对注释感到抱歉,我不知道它会这样做。我已经配置了mysql,因此mysql.sock文件位于/tmp/mysql.sock,我的php.ini中也包含相同的信息。你使用的是什么web服务器?您是否检查了命令行
php.ini
和web服务器php.ini
?