-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev: PHP 8.4 support #9116
Comments
@codeigniter4/core-team How do we handle the Deprecations of session.sid_length and session.sid_bits_per_character? CodeIgniter4/system/Session/Handlers/FileHandler.php Lines 315 to 316 in f2e560f
|
Should I keep the regular expression for |
In PHP9, yes. But in PHP 8.x, the INI settings still work, but the deprecation error makes CI4 stop executing. |
The deprecation is geared towards security. Why not follow the new default of 32 chars length at 4bits? It would be a breaking change but I think the impact would be low. |
@paulbalandan That is also a possibility. |
I think we can introduce partial PHP 8.4 support in 4.5.x, then tackle this BC deprecation in 4.6. What do you think? |
I agree with @paulbalandan - we should follow the default values. The possible impact on users will be negligible, and it will save us from complicating the code unnecessarily. If we plan to release v4.6 right after/before PHP 8.4 (November 21), I would be in favor of adding these changes there. |
What do you mean by "partial PHP 8.4 support in 4.5.x" ? If we don't support PHP 8.4 in 4.5.x, we don't need to introduce breaking changes for PHP 8.4. And we have time, so I think we can release v4.6.0 right after PHP 8.4 release. I would like to decide whether 4.5.x will support PHP 8.4 or not. |
Personally, I have no problem with adding support for PHP 8.4 only in v4.6. This seems like a pretty good opportunity to "force" an upgrade to the latest version of the framework. |
It might be a good idea. |
I was thinking of silencing the deprecations in 4.5.x then fix them on 4.6, but in retrospect I think that's a band-aid solution. In this case, I support having PHP 8.4 on 4.6+. |
Constant |
Do I understand correctly? Need to fix |
@neznaika0 No. But replacing
|
Problem 1
- Root composer.json requires codeigniter4/framework ^4.2.7 -> satisfiable by codeigniter4/framework[v4.2.7, ..., v4.5.5].
- codeigniter4/framework[v4.2.7, ..., v4.4.8] require laminas/laminas-escaper ^2.9 -> satisfiable by laminas/laminas-escaper[2.9.0, ..., 2.14.x-dev].
- codeigniter4/framework[v4.5.0, ..., v4.5.5] require laminas/laminas-escaper ^2.13 -> satisfiable by laminas/laminas-escaper[2.13.0, 2.13.x-dev, 2.14.x-dev].
- laminas/laminas-escaper[2.10.0, ..., 2.10.x-dev] require php ^7.4 || ~8.0.0 || ~8.1.0 -> your php version (8.4.0-dev) does not satisfy that requirement.
- laminas/laminas-escaper[2.11.0, ..., 2.12.x-dev] require php ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.4.0-dev) does not satisfy that requirement.
- laminas/laminas-escaper[2.13.0, ..., 2.14.x-dev] require php ~8.1.0 || ~8.2.0 || ~8.3.0 -> your php version (8.4.0-dev) does not satisfy that requirement.
- laminas/laminas-escaper[2.9.0, ..., 2.9.x-dev] require php ^7.3 || ~8.0.0 || ~8.1.0 -> your php version (8.4.0-dev) does not satisfy that requirement. CodeIgniter 4 requires the laminas/laminas-escaper package, but this package does not currently support PHP 8.4. Specifically, PHP 8.4 compatibility is not yet available in the current stable release of laminas/laminas-escaper. However, there is an open pull request on the Laminas repository—PR #56—which addresses this issue by adding PHP 8.4 support. Once this pull request is merged and a new release of the package is made, we will be able to use laminas/laminas-escaper with PHP 8.4. |
Hello if you need a small fix. |
PHP 8.4 requires CodeIgniter 4.6.0 or later.
References:
TODO:
session.sid_length
andsession.sid_bits_per_character
for PHP 8.4 #9135DateTime(Immutable)::createFromTimestamp()
comaptibility8.4
in GitHub Action flows--ignore-platform-req=php
in composer.json"post-autoload-dump"
The text was updated successfully, but these errors were encountered: