Data at Your Fingertips: Explore Our New Reporting and Statistical Capabilities By Ryan Ashbrook 1 hour ago
janou Posted May 12 Share Posted May 12 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. Link to comment Share on other sites More sharing options...
Nathan Explosion Posted May 12 Share Posted May 12 This post was recognized by Marc Stridgen! Nathan Explosion was awarded the badge 'Helpful' and 5 points. 4 minutes ago, janou said: and PHP 8.2. Stop fighting....it's not supported currently. Use 8.1 or 8.0 Marc Stridgen 1 Link to comment Share on other sites More sharing options...
janou Posted May 15 Author Share Posted May 15 (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 May 15 by janou Link to comment Share on other sites More sharing options...
Marc Stridgen Posted May 15 Share Posted May 15 The error will not go away from the logs. That error will only be generated on 8.2 Link to comment Share on other sites More sharing options...
Recommended Posts