Skip to content

Conversation

@Girgias
Copy link
Member

@Girgias Girgias commented Dec 12, 2025

Previously it was used by the disable_classes INI, as this no longer exists there is no need to expose it.

Previously it was by the disable_classes INI, as this no longer exists there is no need to expose it.
@Girgias Girgias marked this pull request as ready for review December 12, 2025 04:29
@Girgias Girgias requested a review from dstogov as a code owner December 12, 2025 04:29
@Girgias Girgias requested a review from TimWolla December 13, 2025 02:33
Copy link
Member

@TimWolla TimWolla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't even marked ZEND_API, so makes sense and probably doesn't even need an UPGRADING.INTERNALS note.

@Girgias
Copy link
Member Author

Girgias commented Dec 17, 2025

@arnaud-lb seems you exposed this as a ZEND_API for PDO, can you give some more insights into why this is needed?

@arnaud-lb
Copy link
Member

@Girgias yes it's ZEND_API since 626f3c3. It's needed to free the arg_info of temporary temporary internal methods, like the ones added by PDO:

zend_free_internal_arg_info(&func->internal_function, false);

The reason it wasn't needed before 626f3c3, is that arg_info was in static storage.

This may be useful outside of PDO, if some other extensions declare temporary internal methods. If we don't want to support this, we could un-export zend_free_internal_arg_info() when removing the deprecated PDO methods later.

An alternative to exposing zend_free_internal_arg_info() would be to provide a variant of zend_function_dtor() suitable for cls_method_dtor() / cls_method_pdtor().

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.

3 participants