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]
| Comment | File | Size | Author |
|---|
Comments
Comment #1
siromega commentedHere 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?
Comment #2
siromega commentedMinor fix for one of the regexes (finally got my instance up and running).
Comment #2.0
siromega commentedRemoved incorrect code
Comment #3
bohartD7 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!