Bibliotheksfehler(?!) bei Firebird/php

Velaskes

Newbie
Registriert
Juli 2011
Beiträge
3
Hallo,
ich bin neu hier und eigentlich auch noch ziemlich neu in der Programmierung an sich. Ich sitze gerade in meinem Praktikum wo es auch hauptsächlich noch um eine Übernahme zur Ausbildung geht. Daher will ich meine Chefs nicht enttäuschen, allerdings sitze ich am folgenden Problem bereits seit zwei tagen und komme nicht vor und nicht zurück. bitte nicht falsch verstehen, ich will nur diesen Bibliotheksfehler ausräumen, damit ich weiter machen kann.
Erstmal die Aufgabe, die mir übergeben wurde:
ich soll via PHP Scripte erstellen, die das Hilfesystem der Firma verbessern. Hierbei soll ein zunächst seitens des Mitarbeiters Login(Statusänderung "anwesend") erfolgen. Diese Daten sollen in einer Datenbank(Firebird) authentifiziert werden. Anschliessend wird auf seiten des Clienten im Hilfssystem ein Eintrag für die Mitarbeiter erstellt(Durch einfache abfrage des Status aus der Datenbank). So kann der Kunde sich aussuchen mit welchen Mitarbeiter er das Problem lösen möchte. Nun meldet sich der Mitarbeiter zum Problemlösen an(Statusänderung "Beschäftigt"--> Datenbank)und hat dann via Fernwartung die Möglichkeit das Problem zubeheben. Anschliessend soll er sich aus der aktuellen Bearbeitung ausloggen(), ein Prokoll vorgesetzt bekommen und da seinen Verlauf dokumentieren. Diese Dokumentation wird dem Clienten-Eintrag angehangen.

so soll das ganze irgendwann mal aussehen. aus test zwecken lass ich momentan alles über den local host laufen und emuliere mit xampp.
mein Problem ist nur leider das ich keine verbindung zur datenbank über php hinkriege. oder noch besser der versteht den befehl ibase_connect() nicht.
Was ich bisher getan habe:
ich hab mit die php_interbase.dll runtergeladen und in den ordner--> c:\xampp\php\ext. ich habe diese ebenso in der php.ini vermerkt(erneut denn irgendwie stand die auch schon drin).
hier der eintrag in der php.ini
;extension=php_interbase.dll
extension=c:\xampp\php\ext\php_interbase.dll


ich habe eine datenbank angelegt via IBexpert. Sowohl mit dieser als auch mit einer anderen versuch.
Mein quelltext überprüft, erneut geschrieben umformuliert. Hier die simpelste fassung:

<?php
$db='localhost:x:/firebird/examples/Employee.gdb';
$username="SYSDBA";
$password="masterkey";

$dbh= ibase_connect($host, $username$, $%password) or die ("errord in db connect");

$stmt = "Select * from SHOW_LANGS('Srep',4,'Italy')";
$querry= ibase_prepare($stmt);
$rs = ibase_fetch_row($rs);

echo $row[0];

ibase_free_query($query);
ibase_free_result($rs);


ibase_close($dbh);
?>

ebenso habe ich die gd32 und die php_interbase.dll in die system32 integriert.

und trotzdem erscheint diese fehlermeldung.
FATAL ERROR: Call to undefined function ibase_connect() in C:\hdocs\test.php on line 6

also fals ihr eine lösung, denkanstoss oder -ansatz habt. schreibt mir bitte.

freundlichste grüße
Velaskes
 
in der Information steht genau von dieser nichts drin.
wie kann ich sicherstellen das sie definitiv geladen wird?
 
Ah, ich glaub ich hab deinen Fehler. Schau mal bei phpinfo() welcher Ordner als extension_dir angegeben ist.

In diesen Ordner muss die php_interbase.dll, falls die nicht schon eh darin vorhanden ist. In die php.ini muss dann nur folgendes:

extension=php_interbase.dll

Wenn du es mit Pfad angibst, findet er die Datei soweit ich weiß nicht. Hast du außerdem nach Änderung den Webserver neugestartet? Evtl. auch mal gucken ob du die richtige php.ini bearbeitet hast. Steht auch bei phpinfo() wo diese liegt.
 
jup alles kontroliert. stimmt alles. php.ini richtig bearbeitet(php_interbase.dll ohne pfad/liegt im richtigen ordner). und ich greife auf die richtige ini zu.
Ergänzung ()

in einem anderen forum riet man mir den anweisungen auf dieser seite zu folgen
http://www.php.net/manual/de/faq.installation.php#faq.installation.addtopath

ich folgte sowohl der anweisung zum anlegen des PATH als auch die Neuerstellung des PHPRC.
Nun erscheint beim starten von apache folgende fehlermeldung:danach startet dieser auch nicht PHP Startup: Unable to load dynamic libary 'C:\xampp\php\ext\php_interbase.dll-Das angegebene Modul wurde nicht gefunden.ich habe bereits kontroliert ob die datei sich im ordner befindet, und das tut sie
Beitrag bearbeiten/löschen
des weiteren findet er nun auch die php4tls.dll nicht mehr.
wo muss ich diese einfügen und wo kann ich diese finden?

ich habe nun eine php4ts.dll gefunden. wo gehört die hin?.
Ergänzung ()

So ich habe jetzt das gesamte System(Firebird, xampp) neu aufgesetzt,selbstverständlich alles vorher deinstalliert, die verzeichnisse gelöscht und den rechner neugestartet.

anschliessend hab ich die php_interbase.dll in c:\xampp\php\ext\ kopiert da mir die phpinfo() diesen pfad für die extensions ausgegeben hat.
danach hab ich in der php.ini wieder den extention= php_interbase.dll eingeschrieben und die display_startup_errors = on gesetzt.
anschliessend hab ich xampp gestartet (firebird wurde nach der installation gestartet).

meine test2.php in der nur die phpinfo() drinsteckt funktioniert. die Daten über php werden mir angezeigt.

allerdings funtioniert meine test.php (siehe quelltext oben) immer noch nicht. Der Startup hat keine fehler geäussert es erscheint auch wieder die selbe Fehlermeldung:

Fatal error:Call to undefined function ibase_connect() in C:\xampp\htdocs\test.php on line 6

dies ist der aktuelle stand.
 
Zuletzt bearbeitet:
Zurück
Oben