diff --git a/azure/apt.yml b/azure/apt.yml index 8c21d1c45f52e..9166509dccae7 100644 --- a/azure/apt.yml +++ b/azure/apt.yml @@ -52,3 +52,13 @@ steps: firebird-dev \ ${{ parameters.packages }} displayName: 'APT' + - script: | + mkdir /opt/oracle + wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip + unzip instantclient-basiclite-linuxx64.zip + wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip + unzip instantclient-sdk-linuxx64.zip + mv instantclient_*_* /opt/oracle/instantclient + # Interferes with libldap2 headers. + rm /opt/oracle/instantclient/sdk/include/ldap.h + displayName: 'Install Oracle Instant Client' diff --git a/azure/configure.yml b/azure/configure.yml index 2f7b28e15d717..9869de514e82c 100644 --- a/azure/configure.yml +++ b/azure/configure.yml @@ -64,6 +64,8 @@ steps: --with-pdo-odbc=unixODBC,/usr \ --with-pdo-firebird \ --with-pdo-dblib \ + --with-pdo-oci=shared,instantclient,/opt/oracle/instantclient \ + --with-oci8=shared,instantclient,/opt/oracle/instantclient \ --enable-werror \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d diff --git a/ext/pdo_oci/oci_statement.c b/ext/pdo_oci/oci_statement.c index 74c59fe9c5ba0..87fe34e287857 100644 --- a/ext/pdo_oci/oci_statement.c +++ b/ext/pdo_oci/oci_statement.c @@ -235,10 +235,11 @@ static sb4 oci_bind_output_cb(dvoid *ctx, OCIBind *bindp, ub4 iter, ub4 index, d ZEND_ASSERT(param); - if (Z_ISREF(param->parameter)) - parameter = Z_REFVAL(param->parameter); - else - parameter = ¶m->parameter; + if (Z_ISREF(param->parameter)) { + parameter = Z_REFVAL(param->parameter); + } else { + parameter = ¶m->parameter; + } if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_LOB) { P->actual_len = sizeof(OCILobLocator*);