Jump to content

Error 4C143/1 Creation of dynamic property IPS\Email\Outgoing\Php::$language is deprecated


Recommended Posts

Posted

Hello,

TL;DR;

I'm currently fighting with a compatibility issue between IPB 4.7.9 and PHP 8.2. IPB reports that PHP version is ok and that all is good from this side.

But all email sending are failing because of the following error: 

4C143/1 Creation of dynamic property IPS\Email\Outgoing\Php::$language is deprecated

Do you maybe have an idea from where it can come from please?

Longer problem description below

Now I went a bit ahead and started looking into it to check if I could not fix it myself.

First thing I did was to create language property in the _Email abstract class. I made a mistake and created it as protected. Error was gone but a new one was thrown:

    EX0

    Error: Cannot access protected property IPS\Email\Outgoing\Php::$language (0)
#0 /var/www/html/system/Email/Email.php(953): IPS\Theme\email_plaintext_core_emailWrapper()
#1 /var/www/html/system/Email/Email.php(392): IPS\_Email::template()
#2 /var/www/html/system/Email/Email.php(679): IPS\_Email->compileContent()
#3 /var/www/html/system/Email/Outgoing/Php.php(58): IPS\_Email->_compileMessage()
#4 /var/www/html/applications/core/modules/admin/settings/email.php(189): IPS\Email\Outgoing\_PHP->_send()
#5 /var/www/html/system/Dispatcher/Controller.php(118): IPS\core\modules\admin\settings\_email->manage()
#6 /var/www/html/applications/core/modules/admin/settings/email.php(38): IPS\Dispatcher\_Controller->execute()
#7 /var/www/html/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\settings\_email->execute()
#8 /var/www/html/donjon/index.php(13): IPS\_Dispatcher->run()
#9 {main}


When I switch the property to public, I have another error:

IPS\Email\Outgoing\Exception: Function strftime() is deprecated (0)

This function seems to still be in use in some files (system/DateTime/DateTime.php, applications/calendar/sources/Date/Date.php).

I looked about this IPS\Theme\email_plaintext_core_emailWrapper function after that and found out it's coming from the database, table ibf_core_store (SELECT * FROM `ibf_core_store` WHERE store_value like '%email_html_core_emailWrapper%'). I deleted it but it was created back and same problem came again.

I looked at the email customization settings in the backend (app=core&module=customization&controller=emails) but we don't use any customization and they are all IPB ones. 

 

Posted (edited)

Hello,

Thanks for the information. This is quite confusing because the configuration checked and the backend are saying that 8.2 meets the system requirements. 

Edit: but I still have the following error when switching to PHP 8.1 :

Quote

IPS\Email\Outgoing\Exception: Function strftime() is deprecated (0)

 

Edited by janou
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...