PHP 8.5 (compilation) support #1543
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since php/php-src#17741, dbh->error_mode is stored as uint8_t. We cast the value to pdo_error_mode for the assignment to work.
Since php/php-src#17742, query_stmt_zval has been replaced by query_stmt_obj. The diff in the linked PR shows the new destructor usage. We follow that same usage in this commit.
A few notes:
pdo_dbh.cppwith PHP version checks. I assume (but do not know) that casting frompdo_error_modetopdo_error_mode(in PHP <= 8.4) shouldn't emit any compiler warnings.(pdo_error_mode) dbh->error_modebut noticed that existing code usesstatic_cast. I don't have experience with C++ but assume this should be correct.The changes are confirmed to compile for me locally, but this should be confirmed in CI.