Skip Navigation

Open

Reported for: WPML Multilingual CMS 4.6.8

Topic Tags: Bug

Overview of the issue

You will encounter some PHP deprecation messages when running WPML on PHP version 8.2. These messages relate to dynamic property creation in various PHP files within the WPML plugin.

[13-Nov-2023 08:44:04 UTC] PHP Deprecated: Creation of dynamic property Whip_RequirementsChecker::$configuration is deprecated in .../wp-content/plugins/sitepress-multilingual-cms/vendor/yoast/whip/src/Whip_RequirementsChecker.php on line 37
[13-Nov-2023 08:44:04 UTC] PHP Deprecated: Creation of dynamic property Whip_RequirementsChecker::$messageManager is deprecated in .../wp-content/plugins/sitepress-multilingual-cms/vendor/yoast/whip/src/Whip_RequirementsChecker.php on line 38
[13-Nov-2023 08:44:05 UTC] PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in .../wp-content/plugins/sitepress-multilingual-cms/classes/API/REST/class-wpml-ate-proxy.php on line 128

Workaround

Please, keep in mind that WordPress’s compatibility with PHP versions (reference chart) indicates some known incompatibilities with PHP 8.2.
Thus, consider temporarily using an earlier PHP version if the messages are disruptive.

14 Responses to “PHP 8.2 - Deprecated: Creation of dynamic property Whip_RequirementsChecker::$configuration is deprecated”

  1. Hi,
    WP 6.1 already had a beta support for PHP 8.2
    it’s WP 6.4.2 and latest update 4.6.9 still does not contain fix for this issue.
    When can we expect for this to be fixed?

    Thank you very much and have a pleasant day.

    • Hello there,
      WPML 4.6.9 doesn’t include a fix for this. However, we can’t provide an ETA as this fix totally depends on the devs roadmap.
      We will keep this erratum updated.

  2. Hi, I checked, it’s literally a forgotten property declaration on the class,
    fix:
    from this

    class Whip_RequirementsChecker {
    ...
    private $requirements;
    // MISSING CODE HERE
    private $textdomain;

    Replace // MISSING CODE HERE with

    private $configuration;
    private $messageManager;

    or this is absolutely safe (as you did not declare the visibility before and PHP has props public by default)

    public $configuration;
    public $messageManager;

    If you give me some git access, I can open a merge/pull request.

    If you installed this automatically, it’s just about updating the whip package – latest whip from yoast already has this fixed! : https://github.com/Yoast/whip/blob/main/src/RequirementsChecker.php

    • Thank you very much for your comment and this information, I’ve passed this information to our devs, I’ll keep you informed.
      Regards

  3. Hi Andrés,

    are there any news on this issue? It still exists in v4.6.9 and PHP v8.2.
    For WordPress v6.4, what was released 4 month ago, it is recommended to use PHP v8.1 or v8.2!

    Thanks.

    Regards,
    Tobias

    • Hello Tobias,
      We are planning a major release for adding fully support for PHP 8.2. However, keep in mind that according to this chart, the latest fully supported version for WP is PHP 7.4. PHP 8.1 is supported with exceptions and 8.2 is in Beta.
      I hope it helps

  4. +1 for expediting this fix, please! We are also seeing similar “dynamic property” deprecation errors being thrown by WPML CMS Navigation 1.5.5.

    WPML is the only thing in our entire WordPress stack (including WP Core) still throwing errors like this. WordPress’s chart notwithstanding, PHP’s own Supported Versions chart at https://www.php.net/supported-versions.php states that active support for PHP 8.1 ended on 25 Nov 2023. (Some major hosting providers like WP Engine will not even support 8.1 any longer.)

    Meanwhile, active support for PHP 8.2 ends on 8 Dec 2024 — only about 8 months from now.

    Thanks!

    • Hello there,
      Currently, we don’t have reports related to our WPML CMS Navigation plugin. I’ll create an internal ticket but it would be really helpful if you could help us creating a report in our assistance channel.
      Thank you very much for your help.
      Andrés

  5. PHP support chat is a great argument – by the end of the year PHP will STOP releasing even the critical security fixes for 8.1!

    @Andrés do you have any information when the major release with complete PHP8.2 support could be?

    • Unfortunately, we can’t provide you an ETA. However, I can assure you that this is in our devs roadmap and it haven’t been forgotten.
      I’ll keep this page updated when I have any news.
      Cheers!

    • PHP 8.2 is still under beta support for WordPress. We will update this link once we have a new version fully compatible.

Leave a Reply

Please stay on topic and be respectful to others. If you need help with issues not related to this post, use our Support Forum to start a chat or submit a ticket.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>