Coding - Firebird PHP Drivers

Created by: Lester Caine, Last modification: 9 September 2025

The old business site has a recent page about Firebird PHP Test Script ibtest which also details details some of the fun with the firebird drivers for php. There are currently 3 active ones. The PDO driver which is back in the php.net tree, the generic driver which is on github (php-firebird) and an alternate generic driver which has an OO user interface which is also on github (firebird-php). I'm currently using the php-firebird build direct from GitHub rather than my home build, just to keep things tidy, so I can document easier how to build a modern LNFP stack ( Linux, Nginx, Firebird, PHP ). 

In order to test that Firebird is running OK, I've finally sorted the old ibtest script and modernised it to include INT128 numbers ibtest.php Script File. There is a copy running on this site as a demo and I've even managed to configure a DEMO user and role for it which is what was holding me up on the lsces.uk site. For reference, the script to create your own security user and role is

CREATE USER DEMO_USER PASSWORD 'secure_test_password';
CREATE ROLE DEMO_ROLE;
GRANT DEMO_ROLE TO USER DEMO_USER;
GRANT ALL TABLE TO DEMO_ROLE;
GRANT ALL DATABASE TO DEMO_ROLE;
GRANT CREATE TABLE TO DEMO_ROLE;
GRANT ALTER ANY TABLE TO DEMO_ROLE;
GRANT DROP ANY TABLE TO DEMO_ROLE;
GRANT ALL PROCEDURE TO DEMO_ROLE;

I need to tdiy the pdo driver to the same standard along with ibtest_pdo.php, but that has been running fine for a while. In addition I need to return to laravel, not that I really want to, but it turns out that is what replaced ADOdb in the webtrees website, so it looks as if I need to get laravel-firebird or some other option if I want the genealogical data to be in the same database as the rest of the content. I really do find laravel just too cumbersome and perhaps has just too many layers. While I have a copy of webtrees running here, it's just using an sqlite table for the indexing lookups. I have perhaps not totally given up on phpgedview, but short term the webtrees version is running in parallel.