Re: phpMyAdmin not loading MySQL extensions

2004-02-16 Thread Kyryll A Mirnenko
Hi Tweax,

  That's not PHPMyAdmin's problem, your PHP can't find dynamic
  module (and phpMyAdmin seems to dl() PHP's mysql extension).

  If you've find mysql.so (if have something like mysql.so.4,
  just link it to mysql.so to make PHP happy:
  ln -s mysql.so.4 mysql.so
  ), try to put it into dynamic modules database:
  ldconfig -m /path/to/mysql/module
  (often ldconfig -m /usr/local/mysql/lib). Note this directory
  should be owned by root (chown root:wheel /usr/local/mysql/lib).

  To do it at boottime, make *.sh script in /usr/local/etc/rc.d &
  put "ldconfig..." there. That's the thing mysql-client standart
  package installer does.


  Best regards,
   Kyryll  mailto:[EMAIL PROTECTED]

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: phpMyAdmin not loading MySQL extensions

2004-02-16 Thread Matthew Seaman
On Mon, Feb 16, 2004 at 12:31:28PM -0600, Tweax Daemon wrote:

>   
> I'm having trouble configuring phpMyAdmin.  I guess from when I try to view it
> in a browser I get the message unable to load mysql extensions the msql link
> re-directs me to the phpmyadmin site where its states about it can't load
> mysql.so  which is on my system I tried placing it in the same directory but
> that didn't work. Changing many things in the config.inc.php file but I still
> get the same error.  Has anyone been successful at getting phpMyAdmin to work on
> FreeBSD 4.8, if so please info me 

Works fine for me.  I assume you have compiled up php with the mysql
support included?  It's in the default configuration, so it should be
there even if you've installed packages from the FTP sites.  In any
case, look at the output of the phpinfo() function to verify that you
have compiled it with all of the right options:

% /usr/local/bin/php << EOF | grep MySQL
? 
? EOF
MySQL Support => enabled

Now it does sound as if you don't have libmysqlclient.so on your
library search path.  Try running these commands and compare the
output to what I get:

% ldd /usr/local/libexec/apache/libphp4.so | grep mysql 
libmysqlclient.so.12 => /usr/local/lib/mysql/libmysqlclient.so.12 
(0x28608000)

% ldconfig -r | grep mysql
search directories: 
/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:/usr/local/lib/mysql:/usr/local/lib/compat/pkg:/usr/local/lib/pth
166:-lmysqlclient_r.12 => /usr/local/lib/mysql/libmysqlclient_r.so.12
167:-lmysqlclient.12 => /usr/local/lib/mysql/libmysqlclient.so.12


At a guess the problem is that you don't have '/usr/local/lib/mysql'
on your shared library search path.  You can fix that (as a one-off)
by:

# ldconfig -m /usr/local/lib/mysql

after which the ldd(1) and ldconfig(8) commands above should show
libmysqlclient.so being correctly located.  Then restart apache:

# apachectl graceful

and the PHP module should pick up the required MySQL stuff.

Don't worry if the .so version number on your system is different --
I'm running mysql-4.0.18 which implies libmysqlclient.so.12.  Other
MySQL versions will be different.

You can preserve the ldconfig setup, or rather recreate it on each
reboot, by putting:

ldconfig_paths="/usr/lib/compat /usr/X11R6/lib /usr/local/lib /usr/local/lib/mysql"

into /etc/rc.conf.

Cheers

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.   26 The Paddocks
  Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey Marlow
Tel: +44 1628 476614  Bucks., SL7 1TH UK


pgp0.pgp
Description: PGP signature