如何获得PHP以本地连接到MySQL?

时间:2018-09-19 14:55:42

标签: php mysqli

我正在尝试在Ubuntu 16.04计算机上本地测试PHP网站,但是使用mysqli_connect()连接到MySQL数据库时遇到了问题。

我有运行mod_php7.0的Apache 2.4。 我安装了Ubuntu软件包php7.0-mysql。 访问与网站位于同一目录中的本地主机地址的php.info()文件表示我的php.ini文件为/etc/php/7.0/apache2/php.ini。 在该文件中,我从;extension=php_mysqli.dll行中删除了注释。

我要访问的文件包含该行

$con=mysqli_connect("localhost","db_user","db_password","db_name");

当我尝试访问该网站时,出现错误消息

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known"

参考上一行。

我让MySQL在本地运行,并定义了给定的用户,密码和数据库。我尝试使用127.0.0.1代替localhost,但是错误是相同的。

错误似乎是PHP无法与MySQL建立本地连接。我如何找出问题所在?

编辑为了提供更多背景信息,我正在尝试创建一个在其生产/开发服务器上工作的网站的localhost版本。据我所知,我已经重新创建了服务器设置的所有相关方面,但是显然我错过了一些东西。

本地设置和生产/开发版本之间的最大区别是,我在本地具有PHP7,但在生产/开发上具有PHP5.5.9。在这一点上,我最好的猜测是,这种差异是造成localhost故障的原因,但是我对PHP的了解还不足以缩小可能的范围。

1 个答案:

答案 0 :(得分:1)

使用以下命令连接到本地主机上的MySQL数据库。

<?php
$servername = "localhost";
$username = "root";
$password = "mysql-password";
$dbname = "database-name";
$conn = mysqli_connect($servername, $username, $password,$dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
?>