PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net


 

Firebird client for Windows, How to compile

Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. For more information, please see: Firebird homepage and the about Firebird page.

Available libraries

Client library need to be built against the Firebird's engine version running in the destination environment. Actually, second quarter 2009, the last official release is Firebird 2.1.2 32-bit and 64-bit for windows, but for many reasons are downloadable and installable also 1.5.* and 2.0.* versions for windows 32-bit only. Beware that your web application server may be running a different OS from database server. That means that you can have a IIS web server trying to connect a firebird database server running on Linux or other Unixes. If this is the case you must deploy anyway the correct firebird's client library and install in system directory.

Hint on selecting file to install from sourceforge's repository

In the complete file list there are a lot of file, for many different scopes. Don't select this types of files:

  • with extenxsion .zip
  • containing the string “pdb” in the name
  • containing the string “embed” in the name

The files to download are then in the form Firebird-x.y.z.t-so.exe where

  • x is the major version number
  • y is the minor version number
  • z is the release level
  • t is the build number
  • so is the operative system type (win32 or x64)

If your firebird database server is installed in another machine than web server running PHP, you must select the same version of your database server (x, y and the most recent z), but the so of your web server.

Firebird engine allready installed

You must detect which version is running: you may need an administrator tool, or in %ProgramFiles%\Firebird\Firebird_x_y\bin try in a terminal session the command

isql -z.

See also here.

If the database server is installed in the same machine of development, needed libraries and include files are allready installed in proper directories.

If the database server is installed in another machine, the you need to install development files and firebird's client libraries from sourceforge repository.

Firebird engine not yet installed, or development only environment

Packages are downloadble from sourceforge's repository. Select

* firebird-win32 for 32-bit windows ( here direct link )

* firebird-win64 for 64-bit windows ( here direct link )

Each windows package, if desired, can install only client and development files: you are requested to check desired options during .exe installation. So, for development purposes only, don't check to install server engine option: each major version installs in a different subdir in the %ProgramFiles%\Firebird\ directory, so you can select which version build changing selected dir in %lib% and %include% user environment variables.

Building php_interbase.dll

(TbD)

Common requirements

In order to compile php_interbase.dll shared library against any Firebird_x_y version, you need to have this files

  • installed in %ProgramFiles%\Firebird\Firebird_x_y\include
    1. ibase.h
    2. iberror.h
    3. ib_util.h
  • installed in %ProgramFiles%\Firebird\Firebird_x_y\lib
    1. fbclient_bor.lib
    2. fbclient_ms.lib
    3. ib_util_ms.lib
  • installed in system directory
    1. fbclient.dll

If any of the files in lib or include subdirs is missing, you may have not checked for installing the development support files. If fbclient.dll is missing you can create it with these steps (sobstitute x and y with your version's numbers and note space between i and f in instclient command):

  1. open a terminal window
  2. CD \%ProgramFiles%\Firebird\Firebird_x_y\bin
  3. instclient i f

Building php_interbase.dll with VC6

(TbD)

Building php_interbase.dll with VC9

(TbD)

 
internals/windows/libs/firebird.txt · Last modified: 2009/06/07 19:46 by u.masotti
 
Atom | show source | credits | stats | sitemap | contact | advertising | mirror sites