Deprecated: base64_decode(): Passing null to parameter

Getting the following errors thrown by SuiteCRM v8.8.0 (using Apache v2.4.62 (Debian) and PHP v8.2.28) when trying to add a new to the system directly under the top menu:

**Deprecated** : base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in **/##/html/public/legacy/modules/Emails/EmailUI.php** on line **1088**

**Deprecated** : base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in **/##/html/public/legacy/modules/Emails/EmailUI.php** on line **1088**

**Deprecated** : base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in **/##/html/public/legacy/modules/Emails/EmailUI.php** on line **1088**

**Deprecated** : base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in **/##/html/public/legacy/modules/Emails/EmailUI.php** on line **1315**

including under the “Users Create” headline I get the following:

Deprecated: Using unregistered function "strval" in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /##/html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 663

Deprecated: Using unregistered function "strval" in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /##/html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 663

Deprecated: Using unregistered function "strval" in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /##/html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 663

Are you able to create a record?

Yes, creating the records works, but clearly there are a few deprecated error messages coming up little bit everywhere. For now I’ve hushed them. So the posting was more fyi that it would be nice to get ride of these in error message in the long run.

Maybe you did not set error reporting correctly in the php.ini or in the SuiteCRM under admin → system settings → Logger Settings

  1. php.ini file error_reporting

Setting the following in php.ini would help get rid of these errors*

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING

  1. Set logger (admin → system settings → Logger Settings)

  1. Clear symfony cache

Deprecateds are not errors, they are just warnings for future developers.

You shouldn’t be seeing them on screen, though. You need to turn off “display_errors” in your php.ini and restart web server

Php.ini already had the settings and changed the log level in SuiteCRM, but still gets when click to view a user account record:

Deprecated: Using unregistered function "count" in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /home/##/html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 663

Deprecated: Using unregistered function "strpos" in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /home/##/html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 663

Once performing Quick Repair and Rebuild the error message disappeared.

I agree that deprecation warnings aren’t errors in the sense that they don’t stop the application from running, and they do serve as helpful heads-up for developers about upcoming changes.

That said, I’d add that deprecations are a bit more urgent than just notes for future developers. They often signal potential issues that could become errors when the deprecated feature is removed in a future release (e.g., in a new PHP or library version). Plus, in some cases—like with SuiteCRM or other web apps—these warnings can show up in the browser, which might confuse users or make the app look less polished. Addressing them promptly helps avoid technical debt, ensures compatibility, and keeps the user experience smooth.

Fixing these now not only silences the warnings but also prevents bigger headaches later. It’s definitely worth striving to tackle them as part of regular maintenance, even if they’re not critical errors.

I am not saying that the entire SuiteCRM project can ignore them, I am just saying that end-users don’t need these messages on screen… :sweat_smile:

Logs in the file system! That’s where they should go.

That’s also where developers (like me) lurk… :hole: :snake:

1 Like