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

On Tue, Oct 14, 2008 at 12:56 PM, masotti <masotti@...> wrote:
> Hi Pierre,
>
> Please, relax on this reply, it's intended to be cooperative and explain
> a bit the POV of a developer with a good degree of experience in
> Firebird and various coding language.

No worry, I am relax and here to find solutions. I only avoid any kind
of FUDs or discussions that we already had (especially those bringing
bringing nothing).

My only goal here are:

- get the client libraries required for php 5.x and 6.x available as
soon as possible, for VC6 and VC9
- Get the current firebird dirvers some love from the people who actually use it

Our main issues are that we ran in circles every time we began a
discussion to organize the future of firebird in PHP. Some says that
everything works well but a couple of bugs, but the facts are:

- the firebird/interbase extension has no maintainer
- they have almost no test
- there is no clients library available to be used for the windows release(s)


> As I see, I can help writing Firebird tests but don't know (and really
> don't care) about Interbase.
>
> Firebird 2.5 and Interbase 8 are different beasts with API that tends to
> be incompatible and client libraries that are actually incompatible: you
> cannot connect Firebird 2.0 with Interbase 7.5 GDS32.DLL so this started
> some years ago and seems quite strange that someone even marginally
> involved in Firebird development /maintenaince says "Nobody told me!"
>
> Actually, to run Firebird with Codegear Delphi for PHP is a nightmare if
> don't remove four Interbase's GDS32.DLL hidden in root, PHP, Apache and
> libraries installations (Ok: maybe Codegear's fault, but forked drivers
> is THE solution). Moreover, it's impossible to run Interbase AND
> Firebird together with PHP, whilst both server can be installed on the
> same machine and quite usable from Java and other languages. I don't
> wonder if someone would think that from this POV PHP is obsolete, and
> not that Firebird is uncooperative as seems from your words.
>
> Back to the point.
> If you cannot start a fork with 5.3, ok. Maybe there are good reasons,
> but, if you cannot discuss again and again (understandable) please refer
> a link from where I (or the occasional/new reader) can understand what
> you mean.

See the PHP Internals archive (available via http://www.php.net search
box, search for "firebird lester" should give you all discussions).

Let us try to summarize the problem.

Do I understand correctly if I say:

- We need two separate extensions, linked against two different
libraries/clients:
1. Firebird clients
2. Interbase clients

They can't be loaded simultaneously (obviously as clients API will
conflict). Ideally we would have to change/update/improve the API
(can't be done in 5.3.0).

If having two extensions already help (now and here), I can do what
I've done for Oracle. We build two extensions for OCI9/10 and for
OCI11g, they are built at the same time, both are available in the
releases. It is then up to the users to choose the right versions. Is
it something that could work for you? It will indeed introduce a
little more support questions because of users using the wrong
extension but it will at least allow us to use both interbase and
firebird client libraries.

I would appreciate if we can focus only about solving this issue for
5.3.0. It is possible to create new extensions for firebird (interbase
is not my priority, if Borland likes to contribute it, they are free
to do it) later via pecl and then merge into the core when it is
ready.

Thanks for your explanations, it is really helpful :)

Cheers,
--
Pierre

http://blog.thepimp.net | http://www.libgd.org