From a8d203bd80485e2293d4c9f7a15256c1e1fb0187 Mon Sep 17 00:00:00 2001 From: X3N0N Date: Thu, 23 Oct 2025 13:11:17 +0300 Subject: [PATCH] Update PDO_OCI constants registration for PHP 8.5+ --- pdo_oci.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pdo_oci.c b/pdo_oci.c index f951faa..49bc846 100644 --- a/pdo_oci.c +++ b/pdo_oci.c @@ -81,11 +81,21 @@ static MUTEX_T pdo_oci_env_mutex; /* {{{ PHP_MINIT_FUNCTION */ PHP_MINIT_FUNCTION(pdo_oci) { +#if PHP_VERSION_ID < 80500 REGISTER_PDO_CLASS_CONST_LONG("OCI_ATTR_ACTION", (zend_long)PDO_OCI_ATTR_ACTION); REGISTER_PDO_CLASS_CONST_LONG("OCI_ATTR_CLIENT_INFO", (zend_long)PDO_OCI_ATTR_CLIENT_INFO); REGISTER_PDO_CLASS_CONST_LONG("OCI_ATTR_CLIENT_IDENTIFIER", (zend_long)PDO_OCI_ATTR_CLIENT_IDENTIFIER); REGISTER_PDO_CLASS_CONST_LONG("OCI_ATTR_MODULE", (zend_long)PDO_OCI_ATTR_MODULE); REGISTER_PDO_CLASS_CONST_LONG("OCI_ATTR_CALL_TIMEOUT", (zend_long)PDO_OCI_ATTR_CALL_TIMEOUT); +#else + zend_class_entry *pdo_ce = php_pdo_get_dbh_ce(); + + zend_declare_class_constant_long(pdo_ce, "OCI_ATTR_ACTION", sizeof("OCI_ATTR_ACTION") - 1, (zend_long)PDO_OCI_ATTR_ACTION); + zend_declare_class_constant_long(pdo_ce, "OCI_ATTR_CLIENT_INFO", sizeof("OCI_ATTR_CLIENT_INFO") - 1, (zend_long)PDO_OCI_ATTR_CLIENT_INFO); + zend_declare_class_constant_long(pdo_ce, "OCI_ATTR_CLIENT_IDENTIFIER", sizeof("OCI_ATTR_CLIENT_IDENTIFIER") - 1, (zend_long)PDO_OCI_ATTR_CLIENT_IDENTIFIER); + zend_declare_class_constant_long(pdo_ce, "OCI_ATTR_MODULE", sizeof("OCI_ATTR_MODULE") - 1, (zend_long)PDO_OCI_ATTR_MODULE); + zend_declare_class_constant_long(pdo_ce, "OCI_ATTR_CALL_TIMEOUT", sizeof("OCI_ATTR_CALL_TIMEOUT") - 1, (zend_long)PDO_OCI_ATTR_CALL_TIMEOUT); +#endif if (FAILURE == php_pdo_register_driver(&pdo_oci_driver)) { return FAILURE;