So there are many solutions out there discussing solutions to the error in PHP 5.3 while connecting using the built-in mysql library to a MySQL server:

mysqlnd cannot connect to mysql 4.1+ using the old insecure authentication. please use an administration tool to reset your password with the command set password = password('your_existing_password').

Unfortunately, none of these solutions seem to work on a remote MySQL server. I have WebFaction running my MySQL server, so it’s impossible to configure the old_passwords in a my.conf file. What you have to do instead is:

SET SESSION old_passwords=0;
SET PASSWORD=PASSWORD('existing password');

This should reset the password to the 41 byte hash compatible with mysqlnd in PHP 5.3.