This was written on albringas.com :
I’ve been using Codeigniter as my development platform and framework of choice since last year. Being a ten year PHP developer, Codeigner was a refreshing way of coding web apps with PHP.
The first ones developments I did with Codeigniter were using MySQL, a very used database. But since I’ve also been using Firebird SQL Database from ten or more years ago, I decided to give a try to the Codeigniter-Firebird duo.
Read the rest of the adventure
Working both with Firebird SQL and PDO (but not yet at the same time) I am interested in the combination of both.
According to the documentation the extension is still in experimental status, but I was still curious about how far it has progressed. I decided to redo the experiments Lorenzo Alberton did in an article in 2006.
I performed these tests on PHP Version 5.3.6 with Firebird 2.5 on a Windows 7 machine.
Meta has finally converted to Bitweaver and Firebird for website CMS and datastore respectively.
meta has used Joomla for several years to deliver corporate website information and client access to private areas and downloads. But finally Bitweaver has delivered a comprehensive CMS and web application framework backed by Firebird. We regard this as a major advancement in support of Firebird, Bitweaver and the opensource software movement.
Some time ago I’ve written a portal in pure PHP for controlling test laboratory of C# applications. The whole testing process is based on a framework of our own production.
Here is the guide on installing Firebird 2.5 from FreeBSD 8.1 Ports and creating your first test database also we show you howto install Flamerobin GUI (administation tool) and the PHP driver for it .
This was tested on fresh freebsd 8.1 on a virtual machine
Download a compressed snapshot of the Ports Collection into /var/db/portsnap.
# portsnap fetch
or update it
If you are running Portsnap for the first time, extract the snapshot into /usr/ports:
# portsnap extract
If you already have a populated /usr/ports and you are just updating, run the following command instead:
# portsnap update
enter firebird server ports directory
# cd /usr/ports/firebird25-server
compile and install firebird server
# make -DPACKAGE_BUILDING
# make install
enable it by adding
we modify in
and start it with
logs and security2.fdb seems to be in /var/db/firebird
To create a new database
SQL> create database “tmp/first_database.fdb;
SQL> connect “/tmp/first_database.fdb” ;
Commit current transaction (y/n)?y
if you want to create a simple table then insert 1-2 rows and select from it here is one example
SQL> CREATE TABLE TEST (ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20));
SQL> show tables;
SQL> INSERT INTO TEST VALUES (1, ‘John’);
SQL> INSERT INTO TEST VALUES (2, ‘Joe’);
SQL> select * from test;
To quit the isql-fb console type quit
For a good open source GUI admin tool you might check the flamerobin administration tool included in ports repository can be installed by an simple
cd /usr/ports/databases/flamerobin/ && make install clean
To use firebird with php , you will need the php5 driver
#cd /usr/ports/databases/php5-interbase/ && make install clean
You can choose to compile php with apache support (I have choosen cli, cgi , and apache support)
check it if is enabled with
Pierre Joye (Team Leader for windows.php.net) wrote on windows php building list : (someone
asked about the ldap extension)
5.3.4 should have it. There are other missing extensions but some of
them will never be restored (like *spell for example). Firebird was
the last one actually missing and should be back in 5.3.4.
By default, the transactions are IBASE_WAIT, so it waits until the record is no longer edited. You have to start a transaction with the IBASE_NOWAIT option to get an immediate response in a deadlock situation.
One example is a php application waiting for desktop app (administration tool) to finish the transaction
When I try to update a record that’s edited in a desktop app or IBexpert, and there is a deadlock, ibase_execute just hangs, does not return any value nor raises an exception.