• Hello Solid Security Support Team,

    I am currently testing my environment with PHP 8.5 and encountered a “Deprecated” warning related to the Solid Security plugin. The error points to a third-party dependency (Pimple) included in your plugin’s vendor directory.

    Error Message: Deprecated: Method SplObjectStorage::attach() is deprecated since 8.5, use method SplObjectStorage::offsetSet() instead in /home/---.com/public_html/wp-content/plugins/ithemes-security-pro/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 180

    Environment Details:

    • Plugin: Solid Security (iThemes Security) v.8.7.0
    • PHP Version: 8.5
    • File Path: vendor-prod/pimple/pimple/src/Pimple/Container.php

    Requested Action: Since PHP 8.5 deprecates SplObjectStorage::attach() in favor of SplObjectStorage::offsetSet(), could you please update the internal Pimple dependency or apply a patch to ensure compatibility with the upcoming PHP versions?

    Thank you for your assistance.

    Best regards,

    • This topic was modified 1 month, 4 weeks ago by alperi.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Support chandelierrr

    (@shanedelierrr)

    Hello @alperi,

    Thanks for taking the time to report this and for sharing your environment details. We appreciate it!

    I’ve been able to replicate the PHP 8.5 deprecation warning (SplObjectStorage::attach() in the Pimple dependency) and have escalated this to our development team so we can address compatibility with PHP 8.5. We’ll work on updating or patching the affected code so it works cleanly with upcoming PHP versions. I’ll follow up in this thread once we have an update.

    Thanks again for helping us improve Solid Security!

    Still does not work

    Thread Starter alperi

    (@alperi)

    Hi @shanedelierrr,

    I am currently testing my website on PHP 8.4 / 8.5 and I am receiving several “Deprecated” warnings originating from your plugin. These warnings are triggering “headers already sent” errors, which interfere with the site’s functionality. I see the problem hasn’t been resolved yet. When will an update addressing these issues be released?

    Specifically, I am seeing the following types of issues:

    1. Implicitly marking parameters as nullable: Many functions still use the old syntax (e.g., function ($param = null) instead of the explicit function (?$param = null)), which is deprecated in PHP 8.4+.
    2. SplObjectStorage::attach(): This method is deprecated since PHP 8.4/8.5 in favor of offsetSet().
    3. Case statement syntax: Some files are using semicolons after case statements (e.g., case 'value';) instead of colons, which is now deprecated.
    4. Vendor Library issues: Several issues are originating from outdated vendor libraries (like Guzzle, Pimple, and Google API Client) bundled with the plugin.

    Could you please update the plugin and its dependencies to be fully compatible with PHP 8.4 and 8.5?

Viewing 4 replies - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.