Drop --with-pear with PHP 8.6 - #1654
Conversation
| \ | ||
| {{ if install_pear_pecl then ( -}} | ||
| # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) | ||
| --enable-mbstring \ |
There was a problem hiding this comment.
The major justification to compile in mbstring was to support pecl installed packages that depend on it. Our line is to only include extensions that must be compiled into php itself versus what can be added after while following upstream recommendations. So, I agree with this change to drop mbstring in 8.6+.
If they still need it, users can add docker-php-ext-install mbstring in PHP 8.6 and above.
There was a problem hiding this comment.
For anyone also surprised with this change, and maybe experiencing this error after running docker-php-ext-install mbstring:
2.309 checking for oniguruma... no
2.313 configure: error: Package requirements (oniguruma) were not met:
2.313
2.313 Package 'oniguruma', required by 'virtual:world', not found
2.313
2.313 Consider adjusting the PKG_CONFIG_PATH environment variable if you
2.313 installed software in a non-standard prefix.
2.313
2.313 Alternatively, you may set the environment variables ONIG_CFLAGS
2.313 and ONIG_LIBS to avoid the need to call pkg-config.
2.313 See the pkg-config man page for more details.
Remember to install libonig-dev on Debian-based images, and oniguruma-dev on Alpine.
e371680 to
4f03a7f
Compare
|
Any plans for merge this? |
|
For now this is a no-op, but with the first alpha build of 8.6 scheduled for next week (Jul 02 2026; see https://wiki.php.net/todo/php86), it would make sense to merge this before that point. |
tianon
left a comment
There was a problem hiding this comment.
I don't love the "hanging chad" this leaves (where we remove PECL before PHP officially completely does, and don't replace it with anything nor even have a DOI-path to the potential new thing), but I do think doing so is correct right now, so I'm going to merge.
As a concrete consequence, we'll need more thought before we can adopt 8.6+ in downstream images like WordPress and Drupal as a result, because essentially replicating and maintaining a PIE official image in every downstream image that needs something like this is going to be a PITA, but that's only tangentially related to this PR in specific (that's #1554).
Seeing this I figured that removing |
- docker-library/php@59c24e8: Version bumps (docker-library/php#1671) - Update 8.2 to 8.2.32 - Update 8.3 to 8.3.32 - Update 8.4 to 8.4.23 - Update 8.4-rc - docker-library/php@2f6224c: Add 8.6 RC (docker-library/php#1669) - docker-library/php@fdcffea: Remove obsolete if in Dockerfile template (docker-library/php#1670) - docker-library/php@536691f: Drop `--with-pear` with PHP 8.6 (docker-library/php#1654)
Even if we don't adopt PIE in the upstream PHP image (because #1554 (comment) “just works”), we should stop shipping the PECL binary with PHP 8.6.
see #1554