I am having apache 2.2.14, php 5.3.1 and mysql 5.1.43 installed on vista. I am trying since 2 days to configure php to have mysql enable on phpinfo().
Make sure you've edited the right php.ini. In case of doubt
<?php echo 'ini= "', get_cfg_var('cfg_file_path'), '"';
will tell you which one is used by your php installation.
Maybe php tried to load the php-mysql extension and failed because of additional dependencies. That would cause a startup error entry in the error.log.
Which php-build do you use? The php-mysql extension can either use libmysql.dll as transport layer or the new mysqlnd (MySQL native driver) module. You've added c:\php to PATH. That's usually done in order to let windows find libmysql.dll (though it's not necessary, there are other methods which I prefer). If php-mysql depends on libmysql.dll and windows can't find it loading php_mysql.dll will fail.
But if you're using the php.net build of php 5.3.1 the mysql module uses mysqlnd:
Installation on WindowsThis module is built-in in the php.net build. You can test that by callingIn the official PHP distributions from 5.3 onwards, MySQL Native Driver is enabled by default
php -m
in a command shell. It prints all built-in modules.
Thanks a lot to the user who said that we have to move the file php.ini
to the folder /bin
of the Apache server. it resolves me the same problem after more than one week of trying failed methods.
Of course we must uncomment in the file the two lines;
;extension=php_mysql.dll
;extensin_dir="ext"
by removing the semi-colon (;
) and by specifying the full path for the extension library php_mysql.dll
rather than ext
as follows
extension=php_mysql.dll
extensin_dir="c:\Apache22\php53\ext"
For me I installed Apache in the folder c:\Apache22
and PHP in the folder c:\Apache22\php53
, you must use your own values.
NOTE: Because mysql_
functions like mysql_connect()
become deprecated in PHP 5.5 and above, it is recommended to enable also the library php_mysqli.dll
to use functions like mysqli_
(improved version of mysql_
functions). To do that it is simple, you just have to uncomment the line:
;extension=php_mysqli.dll
in the file PHP.ini as follows:
extension=php_mysqli.dll
Update April 7, 2013. Installed Windows 8 on an i7 Quad, HT 8, 3.62GHz, 12GBRAM.. Installed the latest version of MySQL, got it functioning properly. Installed the latest version of Apache Web Server, got it functioning properly. Installed the latest version of PHP, got it functioning properly. MySQL could not connect to the database. The error message was "mysql_connect function undefined". I copied the modified php.ini file into the "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin", and restarted Apache web server... then it all magically started working.!!! I hope this helps somebody with setting up their own Windows MySQL / PHP web server.
put php_mysql.dll in the "c:\php\ext" directory (and keep the extension="php_mysql.dll"
uncommented [without the leading ;
])
You have to edit php.ini and add/uncomment a line to import the php_mysql.dll
extention. Search for ;extention=php_mysql.dll
and remove the ;
. If you find this line without the ;
in front of it, you have another problem. If you don't find this line, add it without the ;
.
You can also try to put a \
after the extention path: extension_dir="c:\php\ext\"