PHP,无法连接到MySQL服务器

时间:2014-05-30 12:20:34

标签: php apache ssh

可能是以下问题的原因。

如果我执行它,PHP函数mysql_connect()工作正常 command line (php -r "mysql_connect('127.0.0.1', 'db_user', 'db_pass');")

对于作为Apache模块运行的PHP,具有相同参数的相同调用失败。

MySQL服务器远程运行,使用SSH转发与它的连接:ssh -fN -L 3306:localhost:3306 remote_host

任何想法可能出错?

2 个答案:

答案 0 :(得分:1)

您将希望使用MySQLi或PDO,因为旧的MySQL函数已被弃用。

这应该有助于您入门:

<?php
//establish conection
$link = mysqli_connect("host","user","pass","bd") or die("Error: " . mysqli_error($link));

$query = "SELECT name FROM mytable" or die("Error: " . mysqli_error($link));

//execute query
$result = $link->query($query);

//display information
while($row = mysqli_fecth_array($result)) {
  echo $row["name"] . "<br>";
} 
?>

答案 1 :(得分:0)

根据您的问题和详细信息,我会说MySQL服务器拒绝连接到您的Web服务器(无论在哪里),因为连接不安全(以某种方式或其他方式)。如果要像在命令行中那样通过Apache中的PHP模块进行连接,请设置连接,以便解决所有加密/隧道问题。这就是我要做的事。

但是,请确保以下行正确无误。

mysql_connect('127.0.0.1', 'db_user', 'db_pass');"

您是否指向正确的服务器?我以为你说MySQL服务器是远程的。此行表明您正在尝试连接到与Web服务器在同一台计算机上运行的本地虚构MySQL服务器。尝试获取MySQL服务器的IP或域名,然后使用它(在您的Web代码中)。