Thread: Re: [PHP] Some undefined function errors
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 >
On Thu, 2010-05-20 at 09:21 -0700, Giancarlo Boaron wrote:
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.
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 |
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)
ketema@ketema.net
ketema@jabber.ketema.net (Jabber)
ketema@voip.ketema.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@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