"connection rejected by remote interface" connecting to Firebird 3 with PDO

Vladimir Z. picture Vladimir Z. · May 22, 2015 · Viewed 18.7k times · Source

Try code below, but cause exception - SQLSTATE[HY000] [335544421] connection rejected by 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.

Answer

Vladimir Z. picture Vladimir Z. · May 22, 2015

Find firebird.conf, uncomment (if using fbclient 2.x) and change the following parameters to disable WireCrypt and set higher priority for legacy authentication:

WireCrypt = Disabled
AuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi