Skip to content

Prepare to gracefully drop support for older PHP versions #623

@JDGrimes

Description

@JDGrimes

We should ideally wait until WordPress ups its PHP version before we up ours. However, I think that we should be prepared for every eventuality, like Travis dropping 5.2 support again, or something else unseen that would affect us but not cause WordPress to update. Also, note that WordPress is less burdened by supporting many PHP versions than we are. WordPress only has to test against each PHP version, we have to test against each version of WordPress that we support for each PHP version. For modules, they have to test against each version combination of WordPoints, WordPress, and PHP. We limit the number of WordPoints and WordPress versions supported, but the list of PHP versions keeps growing, and eventually this will become unsustainable.

So let's get some code into WordPoints that will give us the option to up the PHP version if we want to, while minimizing the pain caused to users. Often plugins just put a version check into the main plugin file, and exit with an error if the PHP version isn't met. This doesn't take into account when users haven't just installed the plugin and somehow ignored the PHP version requirements, but instead had installed it before and are now updating to a new version that has upped the PHP requirements.

We can do better. We could hide the update from the users, or tell them about it but not let them install it until they've updated their PHP version. They shouldn't have to wait until they've updated to find out that they just killed the WordPoints plugin and it is basically inactive until they update PHP. That's why to get this in now, because if the user hasn't updated to a version of WordPoints that will check this for them, then they won't know that an update is incompatible until after they update WordPoints. I don't think that there is anything that we can do for those users, other than tell them to update PHP, or automatically roll ourselves back to the last compatible version.

So basically, we aren't going to actually do #271 yet, we're just going to put some things in place that will make it possible for us to do it in a future version with the least frustration to our users.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions