Oba rozszerzenia wewnętrznie używają EG(persistent_list) do przechowywania trwałego uchwytu połączenia. Ale tworzą różne skróty/klucze dla tej listy, więc nie mogą znaleźć wpisów odpowiedniego innego rozszerzenia.
Rozszerzenie mysql tworzy klucze w postaci "mysql_<host&port>_<user>..."
podczas gdy pdo buduje "PDO:DBH:DSN=<dsn>:<user>:...."
. Skróty są używane prawie jak klucze tablicy w skrypcie php. (Przesadnie) uproszczony przykład:
function pconnect($host,$user,$pass) {
global $persistent_list;
$hashkey = sprintf("extensionname_%s_%s_%s", $host, $user, $pass);
if ( isset($persistent_list[$hashkey]) ) {
// use stored connection
}
else {
// create new connection
}
}
Odpowiedź brzmi:nie, połączenia nie będą współdzielone i ponownie wykorzystywane przez rozszerzenie mysql i PDO.