"Verbindung abgelehnt vom remote-interface" die Verbindung zu Firebird 3 mit PDO
Versuchen Sie folgenden code, aber Ursache Ausnahme - SQLSTATE[HY000] [335544421] Verbindung abgelehnt vom remote-interface:
try {
$dbh = new PDO("firebird:dbname=localhost/3050:empty", "SYSDBA", "masterkey");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $dbh->query('SELECT idmspos, idmsqnt, cdmsval from svc$dms');
$sth->setFetchMode(PDO::FETCH_ASSOC);
while($row = $sth->fetch()) {
echo $row['idmspos']." ".$row['idmsqnt']." ".$row['cdmsval']."<br>";
}
$dbh = null;
}
catch(PDOException $e) {
$dbh = null;
echo $e->getMessage();
}
Specs:
Linux 3.2.0-4-686-pae #1 SMP Debian 3.2.65-1+deb7u1 i686 GNU/Linux
PHP 5.6
php5-interbase
Firebird 3 from official site. Server is worked, can connect to him from local and remote machine.
- Die
libfbclient.so
verwenden Sie? Der von Firebird 3, oder einer von Firebird 2.5 oder früher? Wenn Sie die one 2.5 oder früher verwenden, müssen Sie konfigurieren Firebird 3 zu akzeptieren unsichere verbindungen (obwohl ich glaube, dass wäre eine andere Fehlermeldung als die, die Sie in Ihrer Nachricht). - Ich habe gerade heruntergeladen und installiert-Firebird-3-server, und installieren Sie dann das Paket php5-interbase, eine keine zusätzlichen Maßnahmen ergriffen werden. Derzeit hat die Suche nach allen Dateien
libfbclient.so
und ersetzen Sie Sie durch eine Datei aus dem server-Ordner/opt/firebird/lib
. Der Fehler wiederholt sich. Wo kann ich zulassen, akzeptieren unsichere verbindungen? Keine gleichen gefunden param infirebird.conf
. Keine andere Versionen von firebird nicht installiert ist, bevor. - Ich glaube, es ist die Einstellung
WireCrypt
(standardmäßigRequired
), esEnabled
oderDisabled
statt. Allerdings, wenn Sie schon mit der libfbclient.also von Firebird 3, dieser ist nicht dabei, es zu beheben. - Gefunden Sie diese Zeichenfolge in der
firebird.conf
. Standardmäßig wurde kommentiert. Entfernen Sie die Kommentarzeichen und ändern zuWireCrypt = Disabled
, und entfernen Sie die Kommentarzeichen und ändernAuthServer = Legacy_Auth, Srp, Win_Sspi
undAuthClient = Legacy_Auth, Srp, Win_Sspi
. Nun funktioniert. Thx. - Betrachten Sie beantworten Ihre eigene Frage mit diesen Informationen; es hilft vielleicht auch anderen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden
firebird.conf
kommentieren Sie (wenn Sie fbclient 2.x) und ändern Sie die folgenden Parameter zu deaktivieren WireCrypt und höhere Priorität für die legacy-Authentifizierung:Müssen Sie ändern Sie den Firebird-Dienst wie folgt:
und dann klicken Sie auf Dienst neu Starten
Sind Sie nun in der Lage, eine Verbindung mit firebird erfolgreich im Fall von Firebird 2.1.