错误:SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝它

问题描述 投票:13回答:8

我在调试代码时突然发生错误。它有关于数据库连接的一系列错误。

ERROR: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\wamp\www\web\main\users.php on line 15
( ! ) PDOException: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. in C:\wamp\www\web\main\users.php on line 15

这是错误指向的代码

function __construct()
        {
            $this->con = new PDO("mysql:host=".$this->host.";dbname=".$this->db,$this->user,$this->pass);
        }

我不知道该怎么做,因为我通常不会遇到这样的问题所以我没有研究太多关于WAMP的事情。谢谢您的帮助。

php mysql pdo wamp
8个回答
27
投票

如果WAMP图标为橙色,则其中一个服务尚未启动。

在您的情况下,看起来MySQL尚未启动,因为您收到的消息表明没有服务器正在运行,因此正在侦听请求。

查看mysql日志,如果在Windows的事件日志中没有任何内容,请查看Windows -> Applications部分。其中的错误消息非常擅长识别MySQL无法启动的原因。

有时这是由WAMPServers MySQL从另一个安装的my.ini文件引起的,通常在\ windows或\ windows \ system32文件夹中。搜索'my.ini'和'my.cnf',如果你在\ wamp ....文件夹结构之外找到其中任何一个,那么删除它,或者至少重命名它以便找不到它。然后重启MySQL服务。


8
投票

尝试将Drupal网站从一个本地主机迁移到另一个主机时,我遇到了类似的问题。从运行XAMMP的Mac到运行WAMP的Windows。

这是我在尝试访问网站页面时不断收到的错误消息。

PDOException: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. 
in drupal_get_installed_schema_version() (line 155 of C:\wamp\www\chia\includes\install.inc).

在settings.php中,我已经正确地更改了所有内容,数据库名称,用户和密码。

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'mydatabasename',
      'username' => 'mydbusername',
      'password' => 'mydbpass',
      'host' => 'localhost',
      'port' => '8889',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

经过几个小时的无意识谷歌搜索后,我将端口更改为空值:

'port' => '',

之后网站正确加载。


2
投票

可能使用不同的MySQL端口,而不是在您的代码中使用

enter image description here

$conn = new PDO("mysql:host=".SERVER_NAME.";port=3307;dbname=".DB_NAME, DB_USER, DB_PASS);

两个端口应该相同。


0
投票

重启你的wampServer ......应该解决它。如果没有.. Resta


0
投票

从目录中删除以下文件:

\wamp\bin\mysql\mysql5.6.17\ib_logfile0
\wamp\bin\mysql\mysql5.6.17\ib_logfile1
\wamp\bin\mysql\mysql5.6.17\ibdata1

这解决了我的问题。


0
投票

只需重新启动你的wamp服务器,然后运行php bin / magento cache:clean


0
投票

您应该重新启动您的Xampp或您正在运行的任何服务器,确保sq


-1
投票

我试图在Windows上使用虚拟盒/ vagrant / homestead安装运行“php artisan migrate”时出现此错误。

文档说我必须在虚拟机上运行此命令。

这工作!!!

确保在当前项目文件夹中执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.