Package: src:php8.2
Version: 8.2.7-1~deb12u1
Severity: normal
Control: tags -1 bookworm
Dear Maintainer,
I have a machine running Wordpress (6.2.2) that was originally
installed with
buster (10), and then later upgraded to bullseye (11). It was running
php7.2-fpm with nginx.
I wanted to upgrade to bookworm (12) while keeping the system live, so
I began
by manually upgrading a few key packages. Openssh-server, monit,
certbot, and a
few others. I also upgraded nginx, and (after manually editing the
php-fpm.sock
location) the site continued working.
Then I upgraded php. Specifically:
Install: libffi8:amd64 (3.4.4-1, automatic), php8.2-mysql:amd64
(8.2.7-1~deb12u1, automatic), libaom3:amd64 (3.6.0-1, automatic),
libheif1:amd64 (1.15.1-1, automatic), libodbc2:amd64 (2.3.11-2,
automatic), libx265-199:amd64 (3.5-2+b1, automatic), php8.2-soap:amd64
(8.2.7-1~deb12u1, automatic), libdav1d6:amd64 (1.0.0-2, automatic),
libtiff6:amd64 (4.5.0-6, automatic), php8.2:amd64 (8.2.7-1~deb12u1,
automatic), libnuma1:amd64 (2.0.16-1, automatic), libsvtav1enc1:amd64
(1.4.1+dfsg-1, automatic), php8.2-mbstring:amd64 (8.2.7-1~deb12u1,
automatic), php8.2-curl:amd64 (8.2.7-1~deb12u1, automatic),
liblerc4:amd64 (4.0.0+ds-2, automatic), php8.2-opcache:amd64
(8.2.7-1~deb12u1, automatic), php8.2-imap:amd64 (8.2.7-1~deb12u1,
automatic), libgav1-1:amd64 (0.18.0-1+b1, automatic),
php8.2-readline:amd64 (8.2.7-1~deb12u1, automatic), php8.2-odbc:amd64
(8.2.7-1~deb12u1, automatic), php8.2-igbinary:amd64 (3.2.13-1,
automatic), php8.2-redis:amd64 (5.3.7+4.3.0-3, automatic),
libyuv0:amd64 (0.0~git20230123.b2528b0-1, automatic), libwebp7:amd64
(1.2.4-0.2, automatic), libabsl20220623:amd64 (20220623.1-1,
automatic), libavif15:amd64 (0.11.1-1, automatic), php8.2-gd:amd64
(8.2.7-1~deb12u1, automatic), php8.2-sqlite3:amd64 (8.2.7-1~deb12u1,
automatic), php8.2-bz2:amd64 (8.2.7-1~deb12u1, automatic),
php8.2-cli:amd64 (8.2.7-1~deb12u1, automatic), php8.2-fpm:amd64
(8.2.7-1~deb12u1, automatic), php8.2-common:amd64 (8.2.7-1~deb12u1,
automatic), libde265-0:amd64 (1.0.11-1, automatic), libodbccr2:amd64
(2.3.11-2, automatic), librav1e0:amd64 (0.5.1-6, automatic),
php8.2-xml:amd64 (8.2.7-1~deb12u1, automatic), php8.2-zip:amd64
(8.2.7-1~deb12u1, automatic)
Upgrade: libltdl7:amd64 (2.4.6-15, 2.4.7-5), php-redis:amd64
(5.3.2+4.3.0-2+deb11u1, 5.3.7+4.3.0-3), php:amd64 (2:7.4+76, 2:8.2+93),
libodbc1:amd64 (2.3.6-0.1+b1, 2.3.11-2), php-gd:amd64 (2:7.4+76,
2:8.2+93), php-common:amd64 (2:76, 2:93), php-soap:amd64 (2:7.4+76,
2:8.2+93), php-curl:amd64 (2:7.4+76, 2:8.2+93), php-readline:amd64
(2:7.4+76, 2:8.2+93), php-igbinary:amd64 (3.2.1+2.0.8-2, 3.2.13-1),
php-imap:amd64 (2:7.4+76, 2:8.2+93), php-odbc:amd64 (2:7.4+76,
2:8.2+93), php-mbstring:amd64 (2:7.4+76, 2:8.2+93), php-bz2:amd64
(2:7.4+76, 2:8.2+93), php-cli:amd64 (2:7.4+76, 2:8.2+93), php-fpm:amd64
(2:7.4+76, 2:8.2+93), php-mysql:amd64 (2:7.4+76, 2:8.2+93),
php-xml:amd64 (2:7.4+76, 2:8.2+93), php-json:amd64 (2:7.4+76,
2:8.2+93), php-zip:amd64 (2:7.4+76, 2:8.2+93), libgd3:amd64 (2.3.0-2,
2.3.3-9), php-sqlite3:amd64 (2:7.4+76, 2:8.2+93)
Remove: php7.4-soap:amd64 (7.4.33-1+deb11u4), php7.4-mbstring:amd64
(7.4.33-1+deb11u4), php7.4-readline:amd64 (7.4.33-1+deb11u4),
php7.4-gd:amd64 (7.4.33-1+deb11u4), php7.4-curl:amd64
(7.4.33-1+deb11u4), php7.4-imap:amd64 (7.4.33-1+deb11u4),
php7.4-odbc:amd64 (7.4.33-1+deb11u4), php7.4-opcache:amd64
(7.4.33-1+deb11u4), php7.4:amd64 (7.4.33-1+deb11u4), php7.4-bz2:amd64
(7.4.33-1+deb11u4), php7.4-cli:amd64 (7.4.33-1+deb11u4),
php7.4-mysql:amd64 (7.4.33-1+deb11u4), php7.4-fpm:amd64
(7.4.33-1+deb11u4), php7.4-json:amd64 (7.4.33-1+deb11u4),
php7.4-xml:amd64 (7.4.33-1+deb11u4), php7.4-zip:amd64
(7.4.33-1+deb11u4), php7.4-sqlite3:amd64 (7.4.33-1+deb11u4),
php7.4-common:amd64 (7.4.33-1+deb11u4)
End-Date: 2023-06-18 23:25:00
After editing the various .ini and .conf files in /etc/php/8.2 for
wordpress's
various needs, the site was using php8.2-fpm, but wordpress was broken
and the
logs were filled with:
2023/06/18 23:25:02 [error] 16059#16059: *3330 FastCGI sent in stderr:
" 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php
on line 773; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit(s) at offset 0 in
/srv/theurbanist.org/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php
on line 1358; PHP message: PHP Warning: preg_match(): Compilation
failed: unrecognised compile-time option bit
Since the site was only half upgraded at this point, I did the full
upgrade
(using 'apt upgrade' && 'apt full-upgrade', as described in
https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#idm1322
for safely upgrading mariadb) and rebooted into the new kernel.
Unfortunately, even after the full system upgrade and reboot, the errors
persisted. After some quick searching, it seemed like it was a problem
with
older versions of pcre; both libpcre2-8-0 (10.42-1) and libpcre3
(2:8.39-15)
were installed. I removed the libpcre3 package, restarted php8.2-fpm,
and the
preg_match() errors stopped. After that the site worked with no other
issues.
So to summarize: after a full bullseye->bookworm upgrade which included
php7.2->php8.2, php's pcre_match() function was broken when both
libpcre3 and
libpcre2* were installed. Removing libpcre3 fixed the issue.
I suspect that php8.2 packages should conflict with libpcre3 or
something.
It seems like the kind of thing that would be appropriate for a bookworm
point release, but I'm filing this with normal severity for now.
-- System Information:
Debian Release: 12.0
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-9-cloud-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages php8.2-common depends on:
ii libc6 2.36-9
ii libffi8 3.4.4-1
ii libssl3 3.0.9-1
ii php-common 2:93
ii ucf 3.0043+nmu1
-- no debconf information