Hallo Forum,
so langsam verzweifele ich meiner Anbindung zur lokalen Firebird Datenbank aus dem Internet.
Trotz studenlanger Suche, komme ich einfach nicht weiter.
ich würde gern einfach nur aus dem Internet per php auf meine Datenbank, die auf meinem PC zu Haus liegt
zugreifen wollten und ein Select ausführen.
Was ist bereits gemacht habe.
Meinen Serveranbieter angeschrieben, dass er mir die Interbase Funktion freischaltet.
unter PHP.info erscheint folgendes
interbase
Firebird/InterBase Support dynamic
Compile-time Client Library Version Firebird API version 20
Run-time Client Library Version LI-V6.3.4.13130 Firebird 2.0
Directive Local Value Master Value
ibase.allow_persistent On On
ibase.dateformat %Y-%m-%d %Y-%m-%d
ibase.default_charset no value no value
ibase.default_db no value no value
ibase.default_password no value no value
ibase.default_user no value no value
ibase.max_links Unlimited Unlimited
ibase.max_persistent Unlimited Unlimited
ibase.timeformat %H:%M:%S %H:%M:%S
ibase.timestampformat %Y-%m-%d %H:%M:%S %Y-%m-%d %H:%M:%S
In den geparsten ini´s steht auch: /etc/php5/cgi/conf.d/interbase.ini
Da ich nicht an die Einrichtungsverzeichnisse komme, gehe ich einfach davon aus, dass alles richtig eingerichtet worden ist.
An die php.ini kommte ich glaube ich auch nicht ran
Ich bin mir nicht sicher, welche Anforderungen diese haben muss.
Lokal habe ich windows und Firebird 2.1 laufen. Die Dienste laufen auch und der Port der Fritzbox ist auf den Firebird Port
weitergeleitet.
in der firebird.conf ist
RemoteServiceName = gds_db
RemoteServicePort = 3050
freigeschaltet
in der c/windows/system32/drivers/ services steht:
gds_db 3050/tcp #Interbase/Firebird
inder hosts steht meine IP des Servers, wo der PHP Code läuft
Mache ich nun eine Abfrage mit php
$host= "xx.xxx.202.136:3050:c:/hfoffice.fdb";
$username = "sysdba";
$password = "masterkey";
$dbh = ibase_connect ($host, $username, $password);
$stmt = 'SELECT * FROM FERIEN';
$sth = ibase_query ($dbh, $stmt);
while ($row = ibase_fetch_object ($sth)) {
print $row->email . "\n";
}
ibase_close ($dbh);
Erscheint die Fehlermeldung:
Warning: ibase_connect() [function.ibase-connect]: unavailable database in /var/www/web69/html/firebird.php on line 10
...
...
Die Datenbank ist aber da und ich kann auch lokal darauf zugreifen mit FlameRobin
Kann ich irgendwie herausfinden, ob die API richtig eingerichtet wurde?
Ist die Referenzierung auf die Datenbank mit IP, Port und Pfad ggf. falsch?
Tausend Dank für ein Hilfe!!!
so langsam verzweifele ich meiner Anbindung zur lokalen Firebird Datenbank aus dem Internet.
Trotz studenlanger Suche, komme ich einfach nicht weiter.
ich würde gern einfach nur aus dem Internet per php auf meine Datenbank, die auf meinem PC zu Haus liegt
zugreifen wollten und ein Select ausführen.
Was ist bereits gemacht habe.
Meinen Serveranbieter angeschrieben, dass er mir die Interbase Funktion freischaltet.
unter PHP.info erscheint folgendes
interbase
Firebird/InterBase Support dynamic
Compile-time Client Library Version Firebird API version 20
Run-time Client Library Version LI-V6.3.4.13130 Firebird 2.0
Directive Local Value Master Value
ibase.allow_persistent On On
ibase.dateformat %Y-%m-%d %Y-%m-%d
ibase.default_charset no value no value
ibase.default_db no value no value
ibase.default_password no value no value
ibase.default_user no value no value
ibase.max_links Unlimited Unlimited
ibase.max_persistent Unlimited Unlimited
ibase.timeformat %H:%M:%S %H:%M:%S
ibase.timestampformat %Y-%m-%d %H:%M:%S %Y-%m-%d %H:%M:%S
In den geparsten ini´s steht auch: /etc/php5/cgi/conf.d/interbase.ini
Da ich nicht an die Einrichtungsverzeichnisse komme, gehe ich einfach davon aus, dass alles richtig eingerichtet worden ist.
An die php.ini kommte ich glaube ich auch nicht ran
Ich bin mir nicht sicher, welche Anforderungen diese haben muss.
Lokal habe ich windows und Firebird 2.1 laufen. Die Dienste laufen auch und der Port der Fritzbox ist auf den Firebird Port
weitergeleitet.
in der firebird.conf ist
RemoteServiceName = gds_db
RemoteServicePort = 3050
freigeschaltet
in der c/windows/system32/drivers/ services steht:
gds_db 3050/tcp #Interbase/Firebird
inder hosts steht meine IP des Servers, wo der PHP Code läuft
Mache ich nun eine Abfrage mit php
$host= "xx.xxx.202.136:3050:c:/hfoffice.fdb";
$username = "sysdba";
$password = "masterkey";
$dbh = ibase_connect ($host, $username, $password);
$stmt = 'SELECT * FROM FERIEN';
$sth = ibase_query ($dbh, $stmt);
while ($row = ibase_fetch_object ($sth)) {
print $row->email . "\n";
}
ibase_close ($dbh);
Erscheint die Fehlermeldung:
Warning: ibase_connect() [function.ibase-connect]: unavailable database in /var/www/web69/html/firebird.php on line 10
...
...
Die Datenbank ist aber da und ich kann auch lokal darauf zugreifen mit FlameRobin
Kann ich irgendwie herausfinden, ob die API richtig eingerichtet wurde?
Ist die Referenzierung auf die Datenbank mit IP, Port und Pfad ggf. falsch?
Tausend Dank für ein Hilfe!!!
Kommentar