PHP 8.4.x deprecations
Thread to collect deprications which appear with PHP 8.4.x.
Deprecated: session_set_save_handler(): Providing individual callbacks instead of an object implementing SessionHandlerInterface is deprecated in /var/www/html/wire/core/WireSessionHandler.php on line 51
Confirmed here. It occurs in the admin, upon logout of superuser. Apparently it's not occurring for everyone, because the issue is quite obvious and embarrassing. How to reproduce here :
- Processwire latest version
- TracyDebugger latest version
- Logged in as superuser
- Logout -> . if TracyDebugger is enabled (in its settings), then error . otherwise, no error Note that according to the backtrace, TracyDebugger is not involved (?)
NOTICE: PHP message: PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/wire/core/PageTraversal.php on line 708
Also happens in PHP 8.3.x
Deprecated: Passing E_USER_ERROR to trigger_error() is deprecated since 8.4, throw an exception or call exit with a string message instead in /var/www/html/public/index.php on line 64
@tiefenb could you please fix the typo in the issue subject so that people find it when searching for "depr-e-cation" :)
Deprecated: Constant E_STRICT is deprecated in /site/modules/TextformatterHannaCode/test-results.php:9
Deprecated: Less_Functions::__construct(): Implicitly marking parameter $currentFileInfo as nullable is deprecated, the explicit nullable type must be used instead in /site/modules/Less/wikimedia/less.php/lib/Less/Functions.php on line 12
Deprecated: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in ModulesInstaller.php:305
@ryancramerdesign - just because I saw it again today:
Deprecated: Passing E_USER_ERROR to trigger_error() is deprecated since 8.4, throw an exception or call exit with a string message instead in /index.php on line 64
PW 3.0.246 master
Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../Inputfield/InputfieldCKEditor/InputfieldCKEditor.module:206
Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in .../Inputfield/InputfieldSelector/InputfieldSelector.module:1659
https://github.com/processwire/processwire/blob/8e4000a61723f470271d90542fe9fa8f7a47d2bc/wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module#L1659
Perhaps a rare case - I have a custom Fieldtype that extends FieldtypePage but the Inputfield does not extend InputfieldPage, which seems to cause the inputfield property to be null.