tags:

views:

471

answers:

2

I have set up PHP5.3, MySQL5.1, and IIS7 on Window 7 but php doesn't want to work with MySQL. I'm assuming it is a configuration error or an incomplete install on my part.

  1. MySQL5.1 is working
  2. PHP5.3 is working, phpinfo() shows info and that i have enabled MySQL
  3. IIS is setup and using fastCgiModule to run PHP
  4. IIS registers php.ini updates
  5. port 3306 is firewall free and open to the world
  6. php.ini is configured correctly
  7. I have added c:\php to the Windows systems PATH

In the past I remember moving a file, libmysql.dll, to System32 but I doesn't look like that come with php5.3.1, as the driver comes built in now http://us3.php.net/manual/en/mysqlnd.install.php.

(This has been giving me so much trouble I have been documenting my findings on my blog as http://inteldesigner.com/2010/code/having-problems-getting-php5-3-to-work-with-mysql5-1 )

NEED:

  1. I need to install PHP manually, don't want to use the quick installer or an older version
  2. I need to get PHP5.3 to work with MySQL5.1 so i can install Wordpress2.9 and Drupal7a

Any links or suggestion would be great, I have already done everything on the iis web site, nothing is working. I'm guessing they have not updated for new software.

BUGS/SOLUTION:

The solution is here: http://bugs.php.net/bug.php?id=50172 thanks go to don.raman on the iis.net forums http://forums.iis.net/p/1164911/1933894.aspx

SYMPTOMS:

The php function mysql_connect() in conjunction with php5.3 locks up sever and returns error 500. (IPv6 is the problem see above link)

TEST CODE:

<?php
    $con = mysql_connect("localhost","root","***");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    // some code

    mysql_close($con);
    ?> 

ERRORS:

From Browser:

HTTP Error 500.0 - Internal Server Error
C:\php\php-cgi.exe - The FastCGI process exceeded configured activity timeout

When i run php -f c:\public_html\index.php from the command line i got:

PHP Warning:  mysql_connect(): [2002] A connection attempt failed because the co
nnected party did not  (trying to connect via tcp://localhost:3306) in C:\public
_html\index.php on line 10

Warning: mysql_connect(): [2002] A connection attempt failed because the connect
ed party did not  (trying to connect via tcp://localhost:3306) in C:\public_html
\index.php on line 10
PHP Warning:  mysql_connect(): A connection attempt failed because the connected
 party did not properly respond after a period of time, or established connectio
n failed because connected host has failed to respond.
 in C:\public_html\index.php on line 10

Warning: mysql_connect(): A connection attempt failed because the connected part
y did not properly respond after a period of time, or established connection fai
led because connected host has failed to respond.
 in C:\public_html\index.php on line 10
Could not connect: A connection attempt failed because the connected party did n
ot properly respond after a period of time, or established connection failed bec
ause connected host has failed to respond.

C:\Users\Kevin>
A: 

what happens if you try that test script from the command line by feeding it to php.exe?

longneck
php mysql_connect("localhost","root","***") resulted in: PHP Startup: Unable to load dynamic lib C:/php/ext\php_dba.dll - mod not found
Thorn007
i removed some unneeded ext and not i get this: C:\Users\Kevin>php -r mysql_connect(localhost,root,t);PHP Notice: Use of undefined constant root - assumed 'root' in Command line code on line 1Notice: Use of undefined constant root - assumed 'root' in Command line code online 1PHP Notice: Use of undefined constant 8 - assumed '8' in Command line code on line 1Notice: Use of undefined constant 8 - assumed '8' in Command line code on line 1^CC:\Users\Kevin>php -r mysql_connect();^CC:\Users\Kevin>
Thorn007
+1  A: 

I found it http://forums.iis.net/p/1164911/1933894.aspx and posted about it Thanks all for the help.

Thorn007
That worked. Here's the short circuit link http://bugs.php.net/bug.php?id=50172 So in my case changing localhost to 127.0.0.1 got the connection going.
Jafin