Skip to content

[PDO] Reset stale attributes when reusing a persistent connection - #23655

Open
iliaal wants to merge 1 commit into
php:PHP-8.4from
iliaal:fix/pdo-persistent-attr-reset-84
Open

[PDO] Reset stale attributes when reusing a persistent connection#23655
iliaal wants to merge 1 commit into
php:PHP-8.4from
iliaal:fix/pdo-persistent-attr-reset-84

Conversation

@iliaal

@iliaal iliaal commented Sep 10, 2026

Copy link
Copy Markdown
Member

Reusing a persistent PDO handle only restored auto_commit and error_mode from the new constructor options, so case conversion, oracle nulls, stringify, and the default fetch mode leaked from the previous request. Those four attributes are reset to defaults on reuse before the new options apply.

Reusing a cached persistent handle only re-applied auto_commit and
error_mode from the new $options, so desired_case, oracle_nulls,
stringify and default_fetch_type leaked from whatever the previous
request had set on that connection. Reset them to their defaults on
reuse before applying the new options. Sibling audit found no other
persistent reuse path; drivers do not cache these PDO-level flags in
their own state except pdo_mysql's stringify, which mirrors the same
dbh field and is reset along with it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant