Thursday, October 12, 2017

apache 2.2 - MySQL 4.0, PHP 5.3 and Server 2008



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

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...