PHP-Verbindung fehlgeschlagen: SQLSTATE-Verbindung abgelehnt
P粉068510991
2023-08-23 18:49:26
<p>Ich versuche, über eine PHP-Verbindung eine Verbindung zu einer MySQL-Datenbank auf phpmyadmin herzustellen. An der Verbindung ist nichts Besonderes, ich wollte nur sehen, ob die Verbindung erfolgreich war. Ich verwende MAMP zum Hosten der Datenbank und die Verbindung, die ich verwenden möchte, ist diese: </p>
<pre class="brush:php;toolbar:false;"><?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";
versuchen {
$conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
// Den PDO-Fehlermodus auf Ausnahme setzen
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo „Erfolgreich verbunden“;
}
Catch(PDOException $e)
{
echo „Verbindung fehlgeschlagen:“ $e->getMessage();
}
?></pre>
<p>Ich habe Postman verwendet, um zu testen, ob die Verbindung funktioniert, aber ich erhalte ständig diese Fehlermeldung: </p>
<blockquote>
<p>Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt</p>
</blockquote>
<p>Bevor ich die folgende Fehlermeldung erhielt: </p>
<blockquote>
<p>Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Keine solche Datei oder kein solches Verzeichnis</p>
</blockquote>
<p>Das liegt daran, dass ich den Servernamen auf „localhost“ gesetzt habe und durch die Änderung in die IP-Adresse die Verbindung abgelehnt wird und ich nicht weiß, was falsch läuft. </p>
<p>Jede Hilfe zu diesem Problem wäre sehr dankbar. </p>
我在
docker
环境中度过了相当多的时间,其中我的所有容器都是docker
容器,并且我使用Phinx
进行迁移。只是为了分享不同配置的不同响应。工作解决方案
无效的解决方案
我按照以下方式运行
Phinx
。我找到了连接不起作用的原因,这是因为连接试图连接到端口8888,而它需要连接到端口8889。
这解决了问题,尽管将服务器名称更改为 localhost 仍然会出现错误。
连接失败:SQLSTATE[HY000] [2002] 没有这样的文件或目录
但是当输入IP地址作为服务器名称时,它会成功连接。