php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44958 Installer does not correctly configure MySQL support
Submitted: 2008-05-10 05:04 UTC Modified: 2008-08-22 18:24 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (100.0%)
From: Zian dot Choy at gmail dot com Assigned: jmertic (profile)
Status: Not a bug Package: Windows Installer
PHP Version: 5.2.6 OS: Windows XP SP3
Private report: No CVE-ID: None
 [2008-05-10 05:04 UTC] Zian dot Choy at gmail dot com
Description:
------------
Viewing a PHP file that attempts to connect to MySQL results in a HTTP 500.

Reproduce code:
---------------
1. Install the latest version of Apache using the Windows installer with Open SSL, using all defaults
2. Stop Apache
3. Install the latest version of PHP using the MSI.

In the configuration of the PHP install...
1. Pick "Apache 2.2"
2. Point the installer at Apache's conf directory
3. Under "Extensions," select MySQL and MySQLi

4. Start Apache
5. Start MySQL
6. Run the following code inside a file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>SQL Test</title>
</head>
<body>
    <?php
        $dbServer='localhost';
        // username and password
        $dbUser='[root username]';
        $dbPass='[password]';
        // name of database
        $dbName='test';  
        $link = mysql_connect("$dbServer", "$dbUser", "$dbPass") or die("Could not connect");
        print "Connected successfully<br>";   
        mysql_select_db("$dbName") or die("Could not select database");
        print "Database selected successfully<br>";
        mysql_close($link);
    ?>
</body>
</html>

Expected result:
----------------
I expected to see:
Connected successfully
Database selected successfully

Actual result:
--------------
The IE7 HTTP 500 error screen and the following entry in the Apache error.log file:
[Fri May 09 22:03:08 2008] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined function mysql_connect() in C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\sql.php on line 14

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-05-10 22:57 UTC] jani@php.net
Assigned to the installer maintainer.
 [2008-05-14 07:22 UTC] sudakadam at gmail dot com
Here is another test case.
1. Installed IIS first.
2. Installed MySql second.
3. used installer php-5.2.5-win32-installer.msi to install and chose to configure IIS. (And selected extra and additional things too)
4. Tried all known options to enable mysql support (edit php.ini, environment variables, php_mysql.dll etc)

Tested with simple phpMyAdmin installation. It shows clearly that PHP is not configured with MySql support.
 [2008-05-14 13:04 UTC] jmertic@php.net
When using the mysqli extension together with the mysql extension
you have to use the same libraries and include files. mysqli
extension requires the location of mysql_config file, mysql
extension requires the path of your mysql installation.

If you installed MySQL 4.1 for example with prefix /usr/local/mysql-4.1
your configure settings should be
--with-mysql=/usr/local/mysql-4.1
--with-mysqli=/usr/local/mysql-4.1/bin/mysql_config

Tested used the steps listed and it worked fine for me.
 [2008-05-14 21:04 UTC] Zian dot Choy at gmail dot com
>your configure settings should be
What are "configure settings"?

>mysqli extension requires the location of mysql_config file, mysql
>extension requires the path of your mysql installation.
Then this should be clearly stated somewhere in the installation process.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Dec 07 09:03:35 2021 UTC