We are setting up a new server to handle some of the services of our site.
And the Mysql connection is not working via Php which works fine from our other (older) sites.
Fyi,
1- on new server we have: PHP 5.4.16 (cli) (built: Apr 1 2020 04:07:17)
2- on old we have: PHP 5.3.3
3- We have checked that mysql access is working fine on new server via:
mysql -u root -p
but when trying to connect to Mysql via php via either of these commands, it is not connecting:
$con = @mysql_connect(‘localhost’, ‘root’, ‘xyz123’); {from other older servers}
and also tried this:
$con = mysqli_connect(‘localhost’, ‘root’, ‘xyz123’);
And have checked the php.ini and Mysql related connections are there
To be honest, the first thing you need to do is get current Php. You are hundreds upon hundreds of releases behind the current version. If you have legacy apps that will only run on old Php then you need to refactor or re-write your scripts. They would most definitely be insecure.
#1: Recommend you upgrade the server to something reasonably recent. 5.4.16 was not built April 1 2020, it was built June 6 2013. The server may have been created in 2020, but your PHP version is now 3 Major versions out of date. 8.0 was released Nov 26, 2020.
#2: mysql_ library has been removed from PHP for some time. Suggest you advance to PDO.
right, now that the “You shouldnt do this” is out of the way…
1st, what is the latest version of Php you recommend we upgrade to?
2nd, we cannot break the current Php/Mysql code that we have which runs into Millions of lines
3rd, says: mysqli_connect_error()
Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
I run a Ubuntu 20.04 VPS Server with PHP 8.02 and a recent update failed to start MySQL. Fortunately a reboot cleared the problem. Scratching around various log files trying to pinpoint the problem is never easy.