A new version of the Firebird PHP driver is available.

1,250 views
Skip to first unread message

Adrian Marius Popa

unread,
Dec 10, 2020, 10:15:05 AM12/10/20
to Firebird-PHP
A new version of the Firebird PHP driver is available. Precompiled binaries for PHP 7.3 , 7.4 and 8.0 are available at the download section.

The driver is marked as 1.1.0 stable .

Emil Totev

unread,
Jan 4, 2021, 10:39:12 AM1/4/21
to Firebird-PHP
Found the time to test on CentOS 7 with PHP8.

The precompiled driver fails to load because of an unresolved symbol:
 (/usr/lib64/php/modules/interbase.so: undefined symbol: TSRMLS_SET_CTX)) in Unknown on line 0

I  managed to compile the module myself and it then loads and seems to work. However when I run 'make test', 12 of the 22 tests FAIL. Is this expected, or I should be looking into each of these failures separately to try and understand what's wrong?

Thanks
Emil

martin.koeditz

unread,
Jan 5, 2021, 2:12:51 AM1/5/21
to Firebird-PHP
Hi Emil,

thank you for the feedback. It's kind of strange, since I commited a fix for the described problem, but maybe I just packed an old compiled version. I will check this weekend.

I never run the test cases. I always get wrong results. But maybe I'm able to create a new workflow or to fix the old one. Will check this too.

Regards
Martin

Emil Totev

unread,
Jan 5, 2021, 2:26:32 AM1/5/21
to Firebird-PHP
Hi Martin
It would probably help if you can somehow include the commit hash in that "Interbase extension version" that phpinfo() is showing.

Regards
Emil

martin.koeditz

unread,
Jan 5, 2021, 4:28:03 AM1/5/21
to Firebird-PHP
The commit hash is generated after checking in the code. So I cannot include it into the version info.

Martin

Emil Totev

unread,
Jan 5, 2021, 4:53:53 AM1/5/21
to Firebird-PHP
Directly in the source code - no. But many projects do it, I think, as a step in the build process - the information is extracted into a temporary file that is included or passed to the compiler in a variable. At least for 'official' builds that are going to be released.

It is very useful to know what exactly version of a software you are running - especially in cases like this. The alternative way of doing that would be to make sure you manually increase a build number before every commit or so, like the Firebird project itself are doing, but this is prone to errors.

Regards
Emil

martin.koeditz

unread,
Jan 9, 2021, 12:52:20 PM1/9/21
to Firebird-PHP
Emil,

can you check the available version on Github against the TSRMLS_SET_CTX error? I uploaded a recompiled version.

Thanks
Martin

Emil Totev

unread,
Jan 9, 2021, 1:05:06 PM1/9/21
to Firebird-PHP
Hi Martin
The new version of php-8.0.0-interbase-1.1.0-linux-x64.so works OK for me on CentOS 7. One of these days I am going to try it on Centos 8 as well and let you know.

Regards

John vd Waeter

unread,
Apr 25, 2021, 6:31:03 AM4/25/21
to Firebird-PHP
Hi,
I'm forced to upgrade my website from Debian 7 PHP 5 to Debian 9, PHP 7.4 and I noticed there's no apt-get php7-interbase anymore.
Am I correct that this 1.1.0 driver is a replacement for that?

If so, I really need the steps to install this driver...  anyone?


Thanks in advance!
John

Emil Totev

unread,
Apr 25, 2021, 9:13:53 AM4/25/21
to Firebird-PHP
Hi John
I haven't tried this on Debian yet, but on CentOS it was quite straight-forward: you copy interbase.so to the php extensions directory (on CentOS it was /usr/lib64/php/modules/interbase.so) and make sure  you have the line 'extension=interbase' in your php.ini.

Regards
Emil

John vd Waeter

unread,
Apr 25, 2021, 12:07:00 PM4/25/21
to Firebird-PHP
Emil,
Thanks, that seems to work :)
I'll do some extensive testing and report back.
Cheers,
John

John vd Waeter

unread,
May 2, 2021, 8:00:36 AM5/2/21
to Firebird-PHP
Sofar no problems. Must say I'm testing against Firebird 2.5.9 on Debian.
John

Franz Fortuny L

unread,
Oct 29, 2021, 5:40:28 PM10/29/21
to Firebird-PHP
However, at that page, the latest driver for PHP DOES NOT WORK if you are using Firebird 4.

It shows the following problems:

[Fri Oct 29 15:51:42.587324 2021] [php7:warn] [pid 7302] [client ::1:37456] PHP Warning:  ibase_fetch_row(): Incorrect values within SQLDA structure  in /mnt/c/Users/frafo/OneDrive/ador 2/des/erp4/glfb/glfb.php on line 99, referer: http://localhost/erp4/glfb/
[Fri Oct 29 16:17:20.456526 2021] [php7:warn] [pid 7321] [client ::1:37472] PHP Warning:  ibase_fetch_row(): Incorrect values within SQLDA structure  in /mnt/c/Users/frafo/OneDrive/ador 2/des/erp4/glfb/glfb.php on line 99, referer: http://localhost/erp4/glfb/

And some other times that same problem even restarts Apache2 completely:

[Fri Oct 29 15:42:50.025495 2021] [php7:warn] [pid 7124] [client ::1:37438] PHP Warning:  ibase_fetch_row(): Incorrect values within SQLDA structure  in /mnt/c/Users/frafo/OneDrive/ador 2/des/erp4/glfb/glfb.php on line 99, referer: http://localhost/erp4/glfb/
[Fri Oct 29 15:42:50.445957 2021] [core:notice] [pid 7120] AH00052: child pid 7124 exit signal Segmentation fault (11)

So, Firebird 4 is UNUSABLE to connect to a PHP app that has lots of scripts.

It failes where AGGREGATE FUNCTIONS should return sum() or avg(), but NOT count().

I have reported the problem. It was marked as a BUG. The bug is present under Window 10 (the dll) and under Ubuntu 20.04 under WSL 2.

No new PHP drivers are available, yet.
Reply all
Reply to author
Forward
0 new messages