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
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-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

Browse pgsql-general by date

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

Browse pgsql-novice by date

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