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@xxxxxxxxxx ketema@xxxxxxxxxxxxxxxxx (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@xxxxxxxxx> escreveu:
> De: Jim Lucas <lists@xxxxxxxxx>
> Assunto: Re: [PHP] Some undefined function errors
> Para: "Giancarlo Boaron" <gboaron@xxxxxxxxxxxx>
> Cc: pgsql-general@xxxxxxxxxxxxxx, php-general@xxxxxxxxxxxxx, pgsql-novice@xxxxxxxxxxxxxx
> 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.
|