Re: phpinfo(): postgresql versions' mismatch

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Mihail Mihailov <Mihail(dot)Mihailov(at)uta(dot)fi>
Cc: pgsql-php(at)postgresql(dot)org
Subject: Re: phpinfo(): postgresql versions' mismatch
Date: 2007-02-09 14:57:31
Message-ID: 20070209145731.GA28879@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

On Fri, Feb 09, 2007 at 11:31:29AM +0200, Mihail Mihailov wrote:
> I have recently found out that PHP libpq Version reported by
> phpinfo() doesn't match the Actual PGSQL Version on the server.
> I suspect this is the reason why some of postgresql queries do not run
> via web interface and run without any problem via psql.

Only some PHP queries don't run? What's different about those that
run and those that don't? Do the queries that don't run fail with
an error message? If so, what's the exact message? What do the
PostgreSQL logs show for the failed queries? You might need to
adjust settings like log_min_error_statement in postgresql.conf to
get useful log entries.

If you ever upgrade PHP to use 8.x libraries instead of 7.4 libraries,
beware that some prepared queries that used to work might start
failing. I've seen that happen because PDO emulates prepared queries
when linked against 7.4 and uses real prepared queries when linked
against 8.x (on Unix-like platforms anyway; I think PDO still
emulates prepared queries Windows). The problems arose when the
emulated queries made implicit type casts that were no longer made
with the real prepared queries. A specific example I saw involved
casting a boolean value to an integer: the emulated prepared query
converted true and false to 1 and 0, respectively, but the real
prepared query passed 't' and 'f' to the backend, which rejected
the query with a syntax error because 't' and 'f' aren't integers.

--
Michael Fuhr

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Mihail Mihailov 2007-02-09 17:53:46 Re: phpinfo(): postgresql versions' mismatch
Previous Message Mihail Mihailov 2007-02-09 09:31:29 phpinfo(): postgresql versions' mismatch