Re: phpinfo(): postgresql versions' mismatch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux