ASK!
Meskipun SET SESSION old_passwords=0;
tidak berfungsi di phpMyAdmin.
Saya mengunduh Alat GUI MySQL dan menggunakan Browser Kueri MySQL untuk menjalankan perintah yang sama pada pengguna non-DBO:
SET SESSION old_passwords = 0;
SELECT @@global.old_passwords, @@session.old_passwords, Length(PASSWORD('abc'));
sekarang dikembalikan:
1 0 41
Jadi saya hanya mengubah kata sandi:
SET PASSWORD = PASSWORD('my_old_password')
Dan sekarang PHP 5.4 PDO terhubung ke database dengan pengguna itu!