I just installed EE 6.1.6 on my development PC which is running PHP 8.1.1 on Apache 2.4.51 (and mySQL 8.0.27).
After logging into the CP there are 10 “Deprecated” messages displayed above the dashboard (which shows further deprecation messages). I’ve copied the messages below for reference.
Through a quick search I found the following information on php.watch: PHP 8.1: Serializable interface deprecated
This looks like a bug to me, but maybe I’m missing something? Does somebody know more about this issue (which prevents me from using EE at this point).
Deprecated strlen(): Passing null to parameter #1 ($string) of type string is deprecated ee/ExpressionEngine/Service/Model/Column/Serialized/Json.php, line 27
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Menu/MenuSet implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Menu/MenuSet.php, line 18
Severity: E_DEPRECATED Deprecated ExpressionEngine/Library/CP/URL implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Library/CP/URL.php, line 16
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Dashboard/DashboardLayout implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Dashboard/DashboardLayout.php, line 18
Severity: E_DEPRECATED Deprecated ExpressionEngine/Addons/Pro/Model/Dashboard/DashboardLayout implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Addons/pro/Model/Dashboard/DashboardLayout.php, line 16
Severity: E_DEPRECATED Deprecated ExpressionEngine/Addons/Pro/Model/Dashboard/DashboardWidget implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Addons/pro/Model/Dashboard/DashboardWidget.php, line 17
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Channel/ChannelFieldGroup implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Channel/ChannelFieldGroup.php, line 18
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Channel/ChannelField implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Channel/ChannelField.php, line 19
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Channel/ChannelFormSettings implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Channel/ChannelFormSettings.php, line 18
Severity: E_DEPRECATED Deprecated ExpressionEngine/Model/Addon/Plugin implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) ee/ExpressionEngine/Model/Addon/Plugin.php, line 18
Severity: E_DEPRECATED
@Rob is correct. EE is not fully compatible with PHP 8.1. If you want to check this out and see if addresses everything you’re seeing, here’s the PR for 8.1 support in EE 6.2 https://github.com/ExpressionEngine/ExpressionEngine/compare/feature/6.x/php-8.1-compat.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.