Quoting richardtoo...@paradise.net.nz:

> Quoting Mik J <mikyde...@yahoo.fr>:
> 
> > > De : "richardtoo...@paradise.net.nz"
> <richardtoo...@paradise.net.nz>
> > 
> > >
> > OpenBSD 3.9? Or 4.9?
> > My mistake, yes it's OpenBSD 4.9
> > 
> > 
> 
> Have you tried connecting to 127.0.0.1 rather than localhost? 
> 

I suggest this because ...

http://openbsd.org/faq/faq10.html#httpdchroot

<quote>Name Resolution: httpd(8) inside the chroot(2) will NOT be able to use
the system /etc/hosts or /etc/resolv.conf. Therefore, if you have applications
which require name resolution, you will need to populate /var/www/etc/hosts
and/or /var/www/etc/resolv.conf in the chroot(2) environment. Note that some
applications expect the resolution of "localhost" to work. </unquote>

> (That won't be why you are getting the Fatal error: Call to undefined
> function
> mysql_pconnect(), though.)
> 
> Why don't you remove ADODB from the equation? Strip it down to the
> smallest
> example of it not working, and then build up from there.
> 
> Does ...
> 
> <?php mysql_pconnect('127.0.0.1','username','pwd') or die('Cannot
> connect'); ?>
> 
> ... work?
> 
> > > Quoting Mik J
> > <mikyde...@yahoo.fr>:
> > > 
> > >> Hello everyone,
> > >> 
> > >> My problem is that I
> > cannot execute a php script in CLI. This
> > >> test script is supposed to
> > connect to mysql and retrieve some simple
> > >> results
> > >> Systeme: OpenBSD 3.9
> > >> Packages installed: php5-core-5.2.17,
> > >> php5-extensions-5.2.17, 
> > >>
> > php5-gd-5.2.17, php5-mysql-5.2.17, php5-snmp-5.2.17,
> > >>
> > mysql-server-5.1.54p3, mysql-client-5.1.54p0
> > >> 
> > >> Preparation
> > >>
> > -----------------
> > >> mysqld is started like this
> > >> #
> > /usr/local/bin/mysqld_safe --user=_mysql
> > >> --pid-file=/var/mysql/mysql.pid &
> > >> 
> > >> I have configured /etc/my.cnf in my base
> > >> system like this
> > >>
> > [mysqld]
> > >> socket = /var/www/var/run/mysql/mysql.sock
> > >> Once mysqld is
> > started I have the mysql.sock created in
> > >> /var/www/var/run/mysql
> > >> # ls
> > /var/www/var/run/mysql/
> > >> mysql.sock
> > >> 
> > >> I hard linked it to
> > /var/run/mysql/
> > >> #
> > >> ln /var/www/var/run/mysql/mysql.sock
> > /var/run/mysql/mysql.sock
> > >> 
> > >> I have
> > >> downloaded adodb5 and placed it
> > in /var/www, then adapted this code for
> > >> test
> > >> purpose
> > >> <?php
> > >>
> > include('../adodb5/adodb.inc.php');
> > >> $conn =
> > >>
> > &ADONewConnection('mysql');
> > >> $conn->PConnect('localhost','cacti','cac 
> > >
> > tipw','cactidb');
> > >> $sql = 'select
> > >> hostname,description from host;';
> > >>
> > $recordSet = &$conn->Execute($sql);
> > >> if
> > >> (!$recordSet)
> > >> print
> > $conn->ErrorMsg();
> > >> else
> > >> while (!$recordSet->EOF) {
> > >> print
> > $recordSet->fields[0].' 
> > > '.$recordSet->fields[1].'<BR>';
> > >> 
> > >>
> > $recordSet->MoveNext();
> > >> }
> > >> $recordSet->Close();
> > >> $conn->Close();
> > >>
> > ?>
> > > 
> > >> 
> > >> 
> > >> I also
> > >> copied /etc/my.cnf in /var/www/etc but changed
> > the path for the client
> > >> [client]
> > >> socket = /var/run/mysql/mysql.sock
> > >>
> > >> 
> > >> The tests
> > >> -------------
> > >> Case 1: The script is ran without any
> > chroot consideration => Works
> > >> #
> > >> /usr/local/bin/php
> > /var/www/htdocs/adotest.php
> > >> 127.0.0.1 System1<BR>1.1.1.1
> > >> System2<BR>
> > >> 
> > >> Case 2: The script is ran through the apache chrooted server
> > >> using
> > the url http://localhost/adotest.php => Works
> > >> 127.0.0.1 System1
> > >>
> > 1.1.1.1
> > >> System2
> > >> 
> > >> Case 3: The script is ran in command line and
> > simulates a user
> > >> running it in the chroot (/var/www) => Fails
> > >> #
> > /usr/sbin/chroot /var/www
> > >> /bin/php /htdocs/adotest.php
> > >> PHP Fatal
> > error: Call to undefined function
> > >> mysql_pconnect() in
> > /adodb5/drivers/adodb-mysql.inc.php on line 383
> > >> Fatal
> > >> error: Call to
> > undefined function mysql_pconnect() in
> > >> /adodb5/drivers/adodb-mysql.inc.php
> > on line 383
> > >> Note that: the adotest.php
> > >> script was able to include
> > /adodb5/drivers/adodb-mysql.inc.php
> > >> 
> > >> 
> > >> I thought
> > >> that maybe there
> > is something wrong with connecting to mysql 
> > >> inside the
> > >> chroot so I
> > copied the mysql client inside the chroot 
> > >> (/var/www) and the
> > >>
> > associated dynamic libraries.
> > >> 
> > >> But everything worked when I tried to
> > connect
> > >> to the database
> > >> # /bin/mysql -u cacti -p
> > >> Enter password:
> > >> Welcome to the MySQL
> > >> monitor. Commands end with ; or \g.
> > >> Your
> > MySQL connection id is 6
> > >> 
> > >> 
> > >> I've
> > >> searched for a long time and I
> > have no clue why it's working when the
> > >> script
> > >> is executed by Apache
> > and not working when executed in cli inside
> > >> chroot
> > >> /var/www. Does
> > anyone have an idea on how to solve this ?
> > >> 
> > >> If you want to test
> > >>
> > just download adodb5 and place it in /var/www
> > >> 
> > >
> >
> http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-514-for-php
> > >> 5/adodb514.zip/download
> > >> Place the php script adotest.php in
> > /var/www/htdocs
> > >> Thank you

Reply via email to