469,581 Members | 1,859 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,581 developers. It's quick & easy.

A PHP/MySQL Connnector Problem

I'm running the zip'd version of PHP (PHP 5.1.2 zip package) downloaded
from here: http://www.php.net/downloads.php. PHP won't connect with
MySQL.
From docs and threads, it seems enabling PHP/MySQL connectivity on a

Windows XP machine requires three configuration edits. These are:

1. In php.ini, enable php_mysql.dll by uncommenting
"extension=php_mysql.dll".
2. In php.ini, set "extension_dir" to the folder containing
php_mysql.dll which on my PC is C:/core/web/php512/ext/
3. Windows system PATH. Add ";\%SystemRoot%\core\web\php512" which
places libmysql.dll on the PATH.

On my workstation, Apache and PHP are installed in the following
directorys:

C:\Program Files\Apache Group\Apache2
C:\Program Files\Apache Group\Apache2\conf
C:\Program Files\Apache Group\Apache2\conf\httpd.conf

C:\core\web\php512
C:\core\web\php512\php.ini
C:\core\web\php512\libmysql.dll
C:\core\web\php512\ext
C:\core\web\php512\ext/php_mysql.dll
C:\core\web\Apache2\htdocs
C:\core\web\Apache2\htdocs\hello.php

PHP was put into C:\core\web\php512 in order that phpMyAdmin could be
installed somewhere other than C:\Program Files\Apache
Group\Apache2\htdocs.

http.conf has the following four changes:

LoadModule php5_module "c:\core\web\php512\php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:\core\web\php512"
DocumentRoot "C:/core/web/Apache2/htdocs"

The workstation is running:
Windows XP Media Center Edition Service Pack 2
Apache 2.0.55
MySQL 5.0.18
PHP 5.1.2 (zip)

Apache works fine; MySQL is running; PHP works okay except it just
won't connect to MySQL.

As noted above, configuration changes were made as per online docs and
discussion threads. I set extension_dir to "extension_dir =
C:/core/web/php512/ext", uncommented extension=php_mysql.dll from
php.ini and added "c:\core\web\php512" to my PATH (followed by a PC
restart). However, the message "Unable to load dynamic library
'C:/core/web/php512/ext/php_mysql.dll'" continues to appear in the
apache error log when apache is started. Much tweaking of the
extension_dir entry has no effect.

Any thoughts would be greatly appreciated...... -Tony

I'm using the zip download of PHP as noted in an earlier post......

From: Tony Marston - view profile
Date: Fri, Dec 24 2004 12:17 am
Email: "Tony Marston" <t...@NOSPAM.demon.co.uk>
Groups: comp.lang.php

Use the zip download if you want to run PHP as an Apache module as the
msi
version is CLI only. Also be aware that the directory structure with
PHP 5
is different from PHP 4.

--
Tony Marston
http://www.tonymarston.net

"Dick Watson" <littlegreenge...@mindspring.com> wrote in message
news:nC*****************@newsread3.news.pas.earthl ink.net...

Feb 20 '06 #1
6 3092
TonyB wrote:
I'm running the zip'd version of PHP (PHP 5.1.2 zip package) downloaded
from here: http://www.php.net/downloads.php. PHP won't connect with
MySQL.
From docs and threads, it seems enabling PHP/MySQL connectivity on a

Windows XP machine requires three configuration edits. These are:

1. In php.ini, enable php_mysql.dll by uncommenting
"extension=php_mysql.dll".
2. In php.ini, set "extension_dir" to the folder containing
php_mysql.dll which on my PC is C:/core/web/php512/ext/
3. Windows system PATH. Add ";\%SystemRoot%\core\web\php512" which
places libmysql.dll on the PATH.

On my workstation, Apache and PHP are installed in the following
directorys:

C:\Program Files\Apache Group\Apache2
C:\Program Files\Apache Group\Apache2\conf
C:\Program Files\Apache Group\Apache2\conf\httpd.conf

C:\core\web\php512
C:\core\web\php512\php.ini
C:\core\web\php512\libmysql.dll
C:\core\web\php512\ext
C:\core\web\php512\ext/php_mysql.dll
C:\core\web\Apache2\htdocs
C:\core\web\Apache2\htdocs\hello.php

PHP was put into C:\core\web\php512 in order that phpMyAdmin could be
installed somewhere other than C:\Program Files\Apache
Group\Apache2\htdocs.

http.conf has the following four changes:

LoadModule php5_module "c:\core\web\php512\php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:\core\web\php512"
DocumentRoot "C:/core/web/Apache2/htdocs"

The workstation is running:
Windows XP Media Center Edition Service Pack 2
Apache 2.0.55
MySQL 5.0.18
PHP 5.1.2 (zip)

Apache works fine; MySQL is running; PHP works okay except it just
won't connect to MySQL.

As noted above, configuration changes were made as per online docs and
discussion threads. I set extension_dir to "extension_dir =
C:/core/web/php512/ext", uncommented extension=php_mysql.dll from
php.ini and added "c:\core\web\php512" to my PATH (followed by a PC
restart). However, the message "Unable to load dynamic library
'C:/core/web/php512/ext/php_mysql.dll'" continues to appear in the
apache error log when apache is started. Much tweaking of the
extension_dir entry has no effect.

Any thoughts would be greatly appreciated...... -Tony

I'm using the zip download of PHP as noted in an earlier post......

From: Tony Marston - view profile
Date: Fri, Dec 24 2004 12:17 am
Email: "Tony Marston" <t...@NOSPAM.demon.co.uk>
Groups: comp.lang.php

Use the zip download if you want to run PHP as an Apache module as the
msi
version is CLI only. Also be aware that the directory structure with
PHP 5
is different from PHP 4.

--
Tony Marston
http://www.tonymarston.net

"Dick Watson" <littlegreenge...@mindspring.com> wrote in message
news:nC*****************@newsread3.news.pas.earthl ink.net...

Did you copy libmysql.dll to apache2/bin?

-david-

Feb 20 '06 #2
David Haynes wrote:
Did you copy libmysql.dll to apache2/bin?

-david-


Not necessary if you update the PATH to point to it.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Feb 20 '06 #3
It's looking better................

Copying libmysql.dll to apache2/bin eliminated the "Unable to load
dynamic library
'C:/core/web/php512/ext/php_mysql.dll'" message from the Apache
log...... Now, during a restart of Apache, the log (below) is clean of
startup error messages. (The error in the last line of the log is
coming from the application). The server now appears to be locating
functions in php_mysql.dll.

[Mon Feb 20 08:25:40 2006] [notice] Child 684: Child process is exiting
[Mon Feb 20 08:25:40 2006] [notice] Parent: Child process exited
successfully.
[Mon Feb 20 08:25:45 2006] [notice] Apache/2.0.55 (Win32) PHP/5.1.2
configured -- resuming normal operations
[Mon Feb 20 08:25:45 2006] [notice] Server built: Oct 9 2005 19:16:56
[Mon Feb 20 08:25:45 2006] [notice] Parent: Created child process 4316
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Child process is
running
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Acquired the start
mutex.
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Starting 250 worker
threads.
[Mon Feb 20 08:25:53 2006] [error] [client 127.0.0.1] PHP Warning:
mysql_connect() [<a
href='function.mysql-connect'>function.mysql-connect</a>]: Unknown
MySQL server host 'mysql' (11001) in
C:\\core\\web\\Apache2\\htdocs\\app1\\helloMySQL.p hp on line 34

I don't understand why this is now working when the folder containing
libmysql.dll was on the path (see the echo output below); but it's
working so that's good... From a DOS window, echoing the path results
in the output below; the folder ..\php512 appears to be on the path
and this is where libmysql.dll was (and is) sitting..

C:\Documents and Settings\HP_Administrator>echo %PATH%

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32 \Wbem;c:\Python22;\C:\WINDOWS\

core\web\php512;;C:\PROGRA~1\COMMON~1\MUVEET~1\030 625;C:\PROGRA~1\COMMON~1\MUVEE
T~1\030625

So, for my PC, one additional step (step 4) is added to the connector
setup procedure:.

1. In php.ini, enable php_mysql.dll by uncommenting
"extension=php_mysql.dll".
2. In php.ini, set "extension_dir" to the folder containing
php_mysql.dll which on my PC is C:/core/web/php512/ext/
3. Windows system PATH. Add ";\%SystemRoot%\core\web\php512" which
places libmysql.dll on the PATH.
4. Copy php_mysql.dll to ../Apache2/bin.

Thanks for your suggestion.

The next step is to figure out why "mysql" is the wrong name for the
mysql instance on my pc... The php page is bombing here:

$link = mysql_connect('mysql', 'root', '<password>')
or die('Could not connect: ' . mysql_error());

According to the server information section of MySQL Administrator, the
network name of the MySQL server is localhost.... lets see if changing
mysql to localhost has an effect.....
-Tony

Feb 20 '06 #4
TonyB wrote:
It's looking better................

Copying libmysql.dll to apache2/bin eliminated the "Unable to load
dynamic library
'C:/core/web/php512/ext/php_mysql.dll'" message from the Apache
log...... Now, during a restart of Apache, the log (below) is clean of
startup error messages. (The error in the last line of the log is
coming from the application). The server now appears to be locating
functions in php_mysql.dll.

[Mon Feb 20 08:25:40 2006] [notice] Child 684: Child process is exiting
[Mon Feb 20 08:25:40 2006] [notice] Parent: Child process exited
successfully.
[Mon Feb 20 08:25:45 2006] [notice] Apache/2.0.55 (Win32) PHP/5.1.2
configured -- resuming normal operations
[Mon Feb 20 08:25:45 2006] [notice] Server built: Oct 9 2005 19:16:56
[Mon Feb 20 08:25:45 2006] [notice] Parent: Created child process 4316
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Child process is
running
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Acquired the start
mutex.
[Mon Feb 20 08:25:45 2006] [notice] Child 4316: Starting 250 worker
threads.
[Mon Feb 20 08:25:53 2006] [error] [client 127.0.0.1] PHP Warning:
mysql_connect() [<a
href='function.mysql-connect'>function.mysql-connect</a>]: Unknown
MySQL server host 'mysql' (11001) in
C:\\core\\web\\Apache2\\htdocs\\app1\\helloMySQL.p hp on line 34

I don't understand why this is now working when the folder containing
libmysql.dll was on the path (see the echo output below); but it's
working so that's good... From a DOS window, echoing the path results
in the output below; the folder ..\php512 appears to be on the path
and this is where libmysql.dll was (and is) sitting..

C:\Documents and Settings\HP_Administrator>echo %PATH%

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32 \Wbem;c:\Python22;\C:\WINDOWS\

core\web\php512;;C:\PROGRA~1\COMMON~1\MUVEET~1\030 625;C:\PROGRA~1\COMMON~1\MUVEE
T~1\030625

So, for my PC, one additional step (step 4) is added to the connector
setup procedure:.

1. In php.ini, enable php_mysql.dll by uncommenting
"extension=php_mysql.dll".
2. In php.ini, set "extension_dir" to the folder containing
php_mysql.dll which on my PC is C:/core/web/php512/ext/
3. Windows system PATH. Add ";\%SystemRoot%\core\web\php512" which
places libmysql.dll on the PATH.
4. Copy php_mysql.dll to ../Apache2/bin.

Thanks for your suggestion.

The next step is to figure out why "mysql" is the wrong name for the
mysql instance on my pc... The php page is bombing here:

$link = mysql_connect('mysql', 'root', '<password>')
or die('Could not connect: ' . mysql_error());

According to the server information section of MySQL Administrator, the
network name of the MySQL server is localhost.... lets see if changing
mysql to localhost has an effect.....
-Tony


Probably because the first parameter to mysql_connect() is a server
name, and 'mysql' is not a valid server name.

If you're connecting to the local machine you should use 'localhost'
(and 'localhost' should be in your hosts file). Alternatively, this can
be an ip address - 127.0.0.1 for the localhost.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Feb 20 '06 #5
Yes... That worked.... Using "localhost" did the trick. Now, the
little php test page returns results from mysql. And, even better,
phpMyAdmin ver 2.7 began working once config.inc.php was created and
updated with the right id and password. More checkout is needed, but
phpMyAdmin can now create DBs and browse tables. Things are looking
good.

Thanks for your help.
-Tony

Feb 20 '06 #6
joe
Windows requires a reboot in order for your PATH updates to work....

Feb 21 '06 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Lenz Grimmer | last post: by
3 posts views Thread by Kirk Soodhalter | last post: by
reply views Thread by suresh191 | last post: by
4 posts views Thread by guiromero | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.