我在调试代码时突然发生错误。 它有关于数据库连接的一系列错误。
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的事情。 谢谢你的帮助。
答案 0 :(得分:26)
如果WAMP图标为橙色,则其中一个服务尚未启动。
在您的情况下,看起来MySQL尚未启动,因为您收到的消息表明没有服务器正在运行,因此正在侦听请求。
查看mysql日志,如果它没有告诉您在Windows -> Applications
部分中查看Windows事件日志。其中的错误消息很好地确定了MySQL无法启动的原因。
有时这是由WAMPServers MySQL从另一个安装的my.ini文件引起的,通常在\ windows或\ windows \ system32文件夹中。搜索' my.ini'和' my.cnf'如果你在\ wamp ....文件夹结构之外的任何地方找到其中一个,那么删除它,或者至少重命名它以便找不到它。然后重启MySQL服务。
答案 1 :(得分: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 :(得分:1)
可能使用端口 MySQL ,而不是在代码中使用
$conn = new PDO("mysql:host=".SERVER_NAME.";port=3307;dbname=".DB_NAME, DB_USER, DB_PASS);
两个端口应该相同。
答案 3 :(得分:0)
从目录中删除以下文件:
\wamp\bin\mysql\mysql5.6.17\ib_logfile0
\wamp\bin\mysql\mysql5.6.17\ib_logfile1
\wamp\bin\mysql\mysql5.6.17\ibdata1
这解决了我的问题。
答案 4 :(得分:0)
重启你的wampServer ......应该解决它。 如果没有.. 雷斯塔
答案 5 :(得分:0)
只需重新启动wamp服务器,然后运行 php bin / magento cache:clean
答案 6 :(得分:0)
您应该重新启动Xampp或您正在运行的任何服务器,请确保sq
答案 7 :(得分:0)
我也遇到了同样的问题,我不记得启动WAMPSERVER了,所以无法建立连接... 您所需要做的就是再次启动或重新启动WAMPSERVER或XAMMP,它将起作用。...
答案 8 :(得分:0)
要做的所有事情都会为您插入确切的数据库详细信息,然后重新启动mysql服务器
答案 9 :(得分:0)
如果您在同一台计算机上同时使用XAMPP和WAMP,请添加sql服务器端口号
<connection>
<host><![CDATA[localhost:3390]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[]]></password>
<dbname><![CDATA[sritoss_1910]]></dbname>
<initStatements><![CDATA[SET NAMES utf8]]></initStatements>
<model><![CDATA[mysql4]]></model>
<type><![CDATA[pdo_mysql]]></type>
<pdoType><![CDATA[]]></pdoType>
<active>1</active>
</connection>
答案 10 :(得分:0)
我遇到了同样的问题,我只是删除了mysql / data文件中的所有日志文件,例如:
mysql-relay-bin-2020 @ 002d ...
这些文件就可以了。
希望对您有所帮助。
答案 11 :(得分:0)
'dsn' => 'mysql:host=localhost;port=3307;dbname=yourdbname',
答案 12 :(得分:0)
确保您的WAMP服务器(或XAMP)正常工作,即,wamp图标应为绿色。
答案 13 :(得分:0)
检查 MySQL 服务器是否正在运行。如果您没有运行 apache 服务器(或您使用的任何服务器),这可能会发生。运行本地服务器并刷新页面后。
答案 14 :(得分:-1)
我在尝试使用虚拟盒/ vagrant / homestead安装在Windows上运行“php artisan migrate”时遇到此错误。
文档说我必须在虚拟机上运行此命令。
这很有效!!!
确保在当前项目文件夹中执行此操作。
答案 15 :(得分:-1)
我遇到了同样的问题,我在网络上搜索了很多东西,但没有任何解决方案对我有用。最后我偶然发现mysql使用的是端口3308而不是端口3306,这似乎是默认端口,我将端口更改为3306,而且出乎意料的是它起作用了:) ....(我的问题是将php连接到mysql数据库,php完美显示了我的管理页面)