Re: [PHP] Some undefined function errors - Mailing list pgsql-general

From Ketema Harris
Subject Re: [PHP] Some undefined function errors
Date
Msg-id C7421263-261C-4081-96DF-329EF2C0D5D1@ketema.net
Whole thread Raw
In response to Re: [PHP] Some undefined function errors  (Ashley Sheridan <ash@ashleysheridan.co.uk>)
List pgsql-general
you might want to also check your architecture flags for your compiler.

i ran into this problem on a mac when I was compiling php and by default it tries to make a 32 bit and 64 bit binary, but pg was compiled as 64 bit only.  I found that the php compile did not fail, but i was "missing" some functions just like you.  when I recompiled php only 64 bit everything was picked up.

I found that watching the configure output gave indication as to whether or not certain functions will be picked up:

PQescapeString
PQunescapeBytea
PQsetnonblocking
PQcmdTuples 
PQoidValue 
PQclientEncoding 
PQparameterStatus 
PQprotocolVersion 
PQtransactionStatus 
PQexecParams 
PQprepare 
PQexecPrepared 
PQresultErrorField 
PQsendQueryParams 
PQsendPrepare 
PQsendQueryPrepared 
PQputCopyData 
PQputCopyEnd 
PQgetCopyData 
PQfreemem 
PQsetErrorVerbosity 
PQftable 
PQescapeStringConn 
PQescapeByteaConn 
pg_encoding_to_char 

If you see these thigns set to NO even after PostgreSQL support says yes, then you know you wont be getting all the functions.


Ketema J. Harris
ketema@ketema.net
ketema@jabber.ketema.net (Jabber)
407-459-4809  - main
603-413-2882 - fax

On May 20, 2010, at 12:26 PM, Ashley Sheridan wrote:

On Thu, 2010-05-20 at 09:21 -0700, Giancarlo Boaron wrote:
Hi Jim.

I think it depends on each server configuration but I checked in my server and I don't have the 'pgsql.so' and 'psql.ini' files and neither the 'www' directory.

My Apache version is 2.2.15 and my root directory is /usr/local/apache2/htdocs.

Thank you.


--- Em qui, 20/5/10, Jim Lucas <lists@cmsws.com> escreveu:

> De: Jim Lucas <lists@cmsws.com>
> Assunto: Re: [PHP] Some undefined function errors
> Para: "Giancarlo Boaron" <gboaron@yahoo.com.br>
> Cc: pgsql-general@postgresql.org, php-general@lists.php.net, pgsql-novice@postgresql.org
> Data: Quinta-feira, 20 de Maio de 2010, 13:04
> Giancarlo Boaron wrote:
> > Hi all.
> > 
> > Recently, I wrote an email about the problem I was
> having with some Postgres functions that when those
> functions were called, I received the following error: "Call
> to undefined function <function_name>".
> > 
> > After some answers, I decided to rebuild a brand new
> linux virtual machine with Apache + PHP + Postgres, but I
> still get this annoying error messege with some functions
> like pg_prepare() and pg_escape_string().
> > 
> > I compiled Postgres with --without-readline option.
> > I compiled PHP with
> --with-apxs2=/usr/local/apache2/bin/apxs and
> --with-pgsql=/usr/local/pgsql/
> > 
> > And the compilation process has no errors.
> > 
> > What am I doing wrong? Do I have to change something
> in php_config.h file? If so, what do I have to change?
> > 
> > Thank you.
> > 
> > 
> >       
> > 
> 
> Depending on what version of apache you are running, you
> need to make sure that
> you are loading the pgsql.so file or have the psql.ini file
> in your
> /var/www/conf/php5/ directory.
> 
> This way it knows to load pg.
> 
> -- 
> Jim Lucas
> 
>    "Some men are born to greatness, some
> achieve greatness,
>        and some have greatness
> thrust upon them."
> 
> Twelfth Night, Act II, Scene V
>     by William Shakespeare
> 

     


I've generally found these sorts of things to be in /etc/php, /etc/php5 or something similar. Within /etc you should see directories for both Apache and PHP. If you have shell access to the machine, try calling a whereis command, which might give you a better idea of where things are kept in your system.

Thanks,
Ash
http://www.ashleysheridan.co.uk



pgsql-general by date:

Previous
From: Matt Bartolome
Date:
Subject: Re: postgres startup failure
Next
From: Richard Walker
Date:
Subject: Re: How to lose transaction history (xmin values, WAL, etc.)?