In PHP 5.5, the PREG_REPLACE function's /e switch is deprecated. Replace its use in the Oracle Driver with PREG_REPLACE_CALLBACK.

Following functions are affected:
escapeReserved
escapeAnsi

Fixing escapeAnsi is pretty easy, escapeReserved is a bit more difficult since my limited regex knowledge keeps me from fully understanding the output of the replace regexes.

[Edit - code removed because its wrong]

Comments

siromega’s picture

Assigned: Unassigned » siromega
Status: Active » Needs work
Issue tags: +preg_replace(), +preg_replace_callback()
StatusFileSize
new4.34 KB

Here is my patch. Was a quick port, it still needs testing (I haven't been able to get my environment correct for Drupal on PHP 5.5 on linux yet, so I cant test it).

It only works in PHP 5.3.x and above - because it uses anonymous functions it doesn't work on PHP 5.2.x. PHP 7.x supports 5.2.5+ so is this something we want to break?

siromega’s picture

Minor fix for one of the regexes (finally got my instance up and running).

siromega’s picture

Issue summary: View changes

Removed incorrect code

bohart’s picture

Assigned: siromega » Unassigned
Issue summary: View changes
Status: Needs work » Closed (outdated)
Issue tags: -, -

D7 reached its EOL back in January 2025, and there is no active release for D7 for this module anymore.
Development or support is not planned for D7. All D7-related issues are marked as outdated in a bunch.

Everyone can apply the patches/suggestions above (not tested by the maintainers, tested by the community) to their D7 projects.
If the issue remains relevant for D10+ versions, merge requests with proposed solutions for a new module version (D10+) are welcome in a new follow-up issue.

Thanks!

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.