Skip site navigation (1) Skip section navigation (2)

Re: [PHP] Some undefined function errors

From: Ketema Harris <ketema(at)ketema(dot)net>
To: ash(at)ashleysheridan(dot)co(dot)uk
Cc: Giancarlo Boaron <gboaron(at)yahoo(dot)com(dot)br>, Jim Lucas <lists(at)cmsws(dot)com>, pgsql-general(at)postgresql(dot)org, php-general(at)lists(dot)php(dot)net, pgsql-novice(at)postgresql(dot)org
Subject: Re: [PHP] Some undefined function errors
Date: 2010-05-20 23:57:09
Message-ID: C7421263-261C-4081-96DF-329EF2C0D5D1@ketema.net (view raw or flat)
Thread:
Lists: pgsql-generalpgsql-novice
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(at)ketema(dot)net
ketema(at)jabber(dot)ketema(dot)net (Jabber)
http://www.ketema.net
ketema(at)voip(dot)ketema(dot)net 	- VoIP
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(at)cmsws(dot)com> escreveu:
>> 
>> > De: Jim Lucas <lists(at)cmsws(dot)com>
>> > Assunto: Re: [PHP] Some undefined function errors
>> > Para: "Giancarlo Boaron" <gboaron(at)yahoo(dot)com(dot)br>
>> > Cc: pgsql-general(at)postgresql(dot)org, php-general(at)lists(dot)php(dot)net, pgsql-novice(at)postgresql(dot)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
> 
> 

In response to

pgsql-novice by date

Next:From: Carel CombrinkDate: 2010-05-21 07:50:09
Subject: Transferring Data between databases
Previous:From: Tom LaneDate: 2010-05-20 17:46:49
Subject: Re: Connectby blues

pgsql-general by date

Next:From: Richard WalkerDate: 2010-05-21 01:03:57
Subject: Re: How to lose transaction history (xmin values, WAL, etc.)?
Previous:From: Matt BartolomeDate: 2010-05-20 23:03:02
Subject: Re: postgres startup failure

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group