Once upon a time PHP had several different DB drivers such as:
and we already had duplicated drivers (also if they have some different optimizations/features)
Later came PDO and we had
so now we have 4 drivers only for oracle (oci, oci8, pdo_oci, pdo_oci8) and 3 for mysql (mysql, mysqli, pdo_mysql) and anyway every driver is at least duplicated.
I don’t think this is the right way to go on, if PDO is here to remain, first all bugs in pdo should be solved and PDO features should reflect the single driver feature (I wrote about about that yesterday), then old drivers should be removed. Duplicated oci/oci8 driver should be unified too.
Now the situation is confusing and it’s difficult to test things against different drivers, tracking and solving bugs.