Re: PHP/PearDB works on commandline but not via http....
| From: | Justin Patrin | Date: | Thu, 19 Aug 2004 00:23:20 +0000 |
| Subject: | Re: PHP/PearDB works on commandline but not via http.... | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-194218@lists.php.net to get a copy of this message | ||
On Wed, 18 Aug 2004 14:23:49 -0700, pw <p.willis@telus.net> wrote:
>
>
> Matthew Sims wrote:
> >
> > And check to see that PostgreSQL is accepting network connections rather
> > than localhost. Is it listening to a port?
> >
>
> Connecting remotely to postgres via the command line:
>
> psql -h nnn.nnn.nnn.nnn database_name -p 5432 -U user -W
>
> works fine.
>
> Like I wrote before, if I run the same script from the command line
> with the same php build...
> ie:
> cmd_line/> php db_test.php
>
> the script works fine and retrieves data fromt he database.
>
> If I try to serve the same php page via apache it
> can't connect, thus no $db object is returned from
> $db=DB::connect("pgsql://yada:blah@nnn.nnn.nnn.nnn/databasename");
>
> I've tried running the php as various users including apache from
> the command line and it continues to work fine there. So, it's not
> a user permissions thing.
>
Did you try:
if(PEAR::isError($db)) {
echo $db->getMessage().' '.$db->getUserInfo();
}
It's probably because:
1) the postgres the module isn't in the PHP that apache is using
2) the postgres module isn't loaded in the PHP that apache is using
3) the postgres module in the PHP that apache is using is connecting
via a socket instead of a port (or vice-versa)
--
DB_DataObject_FormBuilder - The database at your fingertips
http://pear.php.net/package/DB_DataObject_FormBuilder
paperCrane --Justin Patrin--