Subject Re: [firebird-php] PHP Driver status
Author Pierre Joye
hi!

On Wed, Oct 15, 2008 at 11:52 AM, masotti <masotti@...> wrote:

> "working firebird libraries". Mmmhh (thinking). "what is necessary to
> have both working". Mmmmmhhhh (deeper thinking).
> Which of these things you have not clear, and/or you don't have (or I
> missed completely your needs)?
> 1) ext/interbase sources

I have them, obviously :)

> 2) VC development system

That too

> 3) firebird's include files for user program/libraries compilation
> 4) firebird client libraries (fblient.dll)
> 5) code samples to firebird API

3, 4 and 5 are what I need, as described later in this mail.



>> See pdo_mysql, mysqli, etc. they are well covered :)
>>
> AFAIR transaction management in mysql isn't the best approach, but web
> developers often don't care: anyway it's one of the stronger point in FB
> so I thought Oracle like an example.

Not sure what you mean here, mysql supports transactions and they work
well. However my point is about the amount of tests the mysql
extensions have, they are the best covered DB extensions.


> Let's stop here for a moment.
> Seems you need knowledge to build all versions of fbclient.dll to link
> ext/interbase and ext/pdo_firebird in all flavours. Am I right?
> AFAIK firebird client libraries are prebuilt for windows distribution
> (problem about VC9 runtime libs AFAIR is solved for VISTA, Server and
> XP) and there were a discussion about to prepare a downloadable version
> with only client libraries. I've just chcked at
> http://sourceforge.net/project/showfiles.php?group_id=9028
> but there's nothing as client lib download, so only choice is download
> standard .exe (not pdb nor embedded versions) and install only client
> libs (it is an option during installation) or downloading .zip and
> manually extracting what you need (beware: maybe not simple and Vista
> may don't like it).
> Note that for Win64 there is only 2.1.1 and 2.5 Alpha
> As a note aside, for Linux, Mac and some unixes, on Intel, FB libs can
> be built from packages. For specific processor (like Sparc, PA-Risc,
> Itanium, AS/400 or.... ) don't know.
> Going further, another novel is which client lib version with which
> server version compatibility. Please: this can be material for tests,
> but matching both versions is the best; this mean that to test Win64
> client you need a 2.1.1 server (on any 32bit or 64bit OS).
> Going back to libraries, every windows user installing firebird
> client/server or only client don't builds libs because it's intended
> not a necessary step to have to do.
> Every version of Firebird comes with his sources include files needed to
> interface client libraries. In Linux, you cannot build ext/interbase
> without client libraries AND relative sources installed. At worst, in
> windows this means that for every release of firebird client API (1.5,
> 2.0, 2.1 and in near future 2.5) a different ext/interbase release.
> Often this is not the case, because interface tend to be compatible /
> identical, but this is a question I must turn to Firebird's
> maintainers/developers to be 100% sure.
> In general, someone other can be more precise, point releases of a major
> version (e.g. 1.5.0, 1.5.1, ... to 1.5.5) are only bug fixing:
> interfaces don't changes. Intermediate releases (e.g. 1.5.*, 2.0.* and
> 2.1.*) imply a different ODS (on disk structure) of database, meaning a
> different interface with API expanded to maintain new features. Major
> releases imply a different step in architecture and ODS.
> Backward/upward compatibility means an excel paper big as my desk
> allmost filled with "true".
> This answer to some of your questions?

Yes, thanks you very much. To make it shorter,what we need asap (5.3) is:

- which version of the fbclient should we use? (or from which firebird
release) (you may know it), we can also provide many php_firebird
dlls, one for 1.x or 2.x, but if we can avoid this step... :)

- is VC9 and VC6 supported (Firebird developers may help here)? we
support only x86 right now, x64 support is available but only as an
experimental package. That means win64 support is not a big deal for
now.

Cheers,
--
Pierre
http://blog.thepimp.net | http://www.libgd.org