PHP 8 - Firebird-Treiber (ibase_...); für Linux und für Windows

Forum für Fragen rund um Firebird-Software von Drittanbietern.

Moderator: martin.koeditz

itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Hallo Martin,

ich wollte mal sachte nachfragen, wie der Stand mit dem Treiber ist.

Beste Grüße,
Ira
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hi Ira,

ich bin seit heute an der Einrichtung einer PHP 8-Umgebung. Dann kann ich mit dem Testen beginnen.

Gruß
Martin
Martin Köditz
it & synergy GmbH
itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Prima, freue mich.
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Ich habe schonmal den Linux-Treiber geprüft. Dort gibt es keinerlei Probleme. Also schauen wir uns nun den Windows-Treiber an...
Martin Köditz
it & synergy GmbH
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Ira,

ich konnte den Sachverhalt unter Windows nachstellen. Der Grund ist mir momentan nicht ersichtlich. Sollte aber in jedem Falle lösbar sein. Ich melde mich wieder.

Gruß
Martin
Martin Köditz
it & synergy GmbH
itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Na, das ist doch eine gute Nachricht. Wenn es sich nachstellen lässt, dann ja i.d.R. auch lösen. Ich freue mich, danke für die Zwischeninformation.
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Ira,

ich habe das Problem offenbar ausmachen können. Ich habe ein Pre-Release eingestellt. Bitte prüfe, ob deine Probleme damit behoben sind.

https://github.com/FirebirdSQL/php-fire ... /1.1.2-pre

Gruß
Martin
Martin Köditz
it & synergy GmbH
itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Funktioniert, danke.
Ich habe es getestet mit PHP 8.0.0, mit PHP 8.0.1 und mit PHP 8.0.3.
Super.
itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Hallo Martin,

die 1.1.2 ist noch immer im Status Pre-Release. Da die Vorgänger-Version ja noch den Blob-Fehler hat, wollte ich mal fragen, ob die 1.1.2 dann nicht auch mal als produktive Version fertiggestellt werden könnte.

Und wie verhält sich das vom Procedere mit den Binaries? Gibt es diese dann irgendwo zum Download oder muss das jeder selber immer machen?

Beste Grüße,
Ira
itonert
Beiträge: 17
Registriert: Mo 12. Apr 2021, 17:12

Hallo Martin,

ich habe mir jetzt die Sourcen für den Treiber heruntergealden, und zwar die Sourcen php-firebird-1.1.2-pre.zip. Ich habe jetzt den Buildlauf für PHP 8.1.9 durchgeführt, was die aktuelle stabile PHP-Version ist. Mit dem Build-Lauf bin ich durch, vielen Dank für Deine Hinweise in der beigelegten ReadMe-Datei.

Dummerweise ist nun der Blob-Fehler aber wieder drin, wegen dem Du ja die Pre-Version 1.1.2 gemacht hattest. Es ist genau der gleiche Fehler wieder:

Zitat aus meiner damaligen Meldung, die nun also ab PHP 8.1.x (bei mir 8.1.9) wieder da ist:
Es tritt ein Problem auf, was mit Blob-Feldern zusammenhängt: Wenn ich ibase_blob_info() aufrufe, erhalte ich die Meldung "Unrecognized BLOB ID". Das erhalte ich in PHP-Versionen < 8 nicht. Wir arbeiten schon 20 Jahre mit diesem Code an der Stelle so. Gibt es an der Stelle eine Änderung im Treiber, so dass ich die Software umschreiben muss? Oder ist da evtl. ein Bug im Treiber?

Ich denke, dass das, was ibase_fetch_object() für ein Blobfeld, was z.B. eine Bilddatei enthält, jetzt anders ist. (Wir rufen ibase_fetch_object ohne Parameter fetch_flag auf, also damit ergibt sich Wert 0 dafür). Mit dem alten Treiber bekomme ich z.B. folgendes, was ich dann als BlobID verwende: '0x000000000000016a'. Mit dem neuen Treiber bekomme ich folgendes: '0x %I6'. Und das wird dann wohl nicht als BlobID erkannt und ich kann damit jetzt nichts weiter mehr anfangen.
Ich wäre Dir sehr dankbar, wenn Du Dich erneut dieses gleichen Problems wieder annehmen könntest, damit wir in der Lage sind, PHP 8.1.9 einzusetzen.
Oder sind evtl. gar nicht die korrekten Sourcen in der Datei drin, die für das Pre-Release zur Verfügung stehen?

Beste Grüße,
Ira
Antworten