Right off the bat I know that these two versions don't play nicely together but oddly enough XAMPP somehow allows it to happen. We have a machine running XAMPP that somehow (beyond me) allows PHP 5.3.1 to talk to a MySQL 4.0.18 database. We tried to duplicate this setup (minus XAMPP) and install the same version of Apache, MySQL and PHP on a new machine but logically we are stuck trying to get around the following error message:
Warning: mysql_connect(): Connecting
to 3.22, 3.23 & 4.0 is not supported.
Server is 4.0.18-max-debug in
C:\Program Files\Apache Software
Foundation\Apache2.2\htdocs\nktest.php
on line 3 Warning: mysql_connect():
Connecting to 3.22, 3.23 & 4.0 servers
is not supported in C:\Program
Files\Apache Software
Foundation\Apache2.2\htdocs\nktest.php
on line 3 Failed: Connecting to 3.22,
3.23 & 4.0 servers is not supported
Unfortunately we are stuck w/ MySQL 4.0.18 because the application we are running on that box requires it and comes w/ a pre-built version. We also need to use PHP 5.3 because of another package that depends on that hence we are stuck. I have tried to figure out what XAMPP is doing behind the scenes to make all of this work but I can't seem to make sense of it.
In short, does anybody know of a way to enable connectivity to a MySQL 4.0.18 database w/ PHP 5.3.1 on a Windows Server 2008 machine? The application needs access to all standard MySQL library functions, i.e. mysql_connect() so using strictly mysqli is not an option.
Answer
We ended up getting this working by doing two things:
1) Compile PHP 5.3.1 on Windows w/ the --disable-mysqlnd flag
2) Omit mysqli from the compilation.
PHP 5.3.1 is now talking to MySQL 4.018, phew.
No comments:
Post a Comment