【问题标题】:Warning: mysql_connect(): No connection could be made because the target machine actively refused it警告:mysql_connect():无法建立连接,因为目标机器主动拒绝它
【发布时间】:2014-07-27 20:43:51
【问题描述】:

我正在使用 SQLplus 和 zend 服务器。当我尝试运行 config.php 时,出现错误。我不知道是什么原因造成的。这是config.php的代码

<?php

$host="jojo"; // Host name 
$username="system"; // Mysql username 
$password="a1234"; // Mysql password 
$db_name="project_db1"; // Database name 


//Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect to server"); 
mysql_select_db("$db_name")or die("cannot select DB");

?>

我尝试替换上面的代码并使用以下代码建立连接:

$conn= oci_connect("system" , "a1234" , "(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = jojo)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcale)
    )
  )");

连接问题已解决,但现在

mysql_select_db("$db_name")or die("cannot select DB");

这行代码给出了同样的错误,即“无法连接目标机器主动拒绝它”。 我不明白问题是什么。为什么它没有使用 mysql_connect 连接。

【问题讨论】:

  • 这可能是sql server的设置问题。旁注 - 您不必引用变量。所以,mysql_connect("$host", "$username", "$password") 应该只是 mysql_connect($host, $username, $password)
  • 只是字面意思,这个$host="jojo";你实际上并没有使用它,是吗?通常是$host="localhost";$host="sql.example.com";
  • 现在不推荐使用mysql_connect()(参见here)。
  • 您的数据库服务器是否与您正在运行的脚本在同一 IP 上?

标签: php sqlplus mysql-connect


【解决方案1】:

oci_connect 是一个不同的 API - 它用于 ORACLE 数据库,而 mysql_connect 用于 MYSQL 数据库。另外,我认为您在这里混淆了很多东西:您忘记了 mysql_connect 中的端口和数据库。

您需要独占使用这些功能:http://php.net/manual/en/ref.oci8.php

http://php.net/manual/en/book.oci8.php

【讨论】:

    【解决方案2】:

    你也可以像这样使用简单的语法:

    $host="jojo"; // Host name 
    $port = "1522"; //Port number
    $username="system"; // Mysql username 
    $password="a1234"; // Mysql password 
    $db_name="project_db1"; // Database name 
    oci_connect("$username","$password", "$host:$port/$db_name");
    

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 2023-03-25
      • 2018-09-06
      • 2015-04-05
      • 2016-12-08
      • 2014-09-05
      • 2017-06-01
      • 2016-08-10
      相关资源
      最近更新 更多