GELÖST!
Obwohl die SET SESSION old_passwords=0;
funktionierte nicht in phpMyAdmin.
Ich habe die MySQL-GUI-Tools heruntergeladen und den MySQL-Abfragebrowser verwendet, um denselben Befehl für einen Nicht-DBO-Benutzer auszuführen:
SET SESSION old_passwords = 0;
SELECT @@global.old_passwords, @@session.old_passwords, Length(PASSWORD('abc'));
jetzt zurückgegeben:
1 0 41
Also habe ich einfach das Passwort geändert:
SET PASSWORD = PASSWORD('my_old_password')
Und jetzt verbindet sich PHP 5.4 PDO mit diesem Benutzer mit der Datenbank!