Jump to content

Add PHP Compatibility to all Marketplace Apps Going Forward


Chris Anderson

Recommended Posts

Many self-hosted servers are setup to support running just one version of PHP.  All PHP scripts need to support that particular version or there will be compatibility issues. 

Now that PHP 7.4 is approaching it's EOL there will be a concerted effort by developers to ensure their PHP code supports PHP 8.0 and PHP 8.1 in the very near future.

The challenge is that some developers will release products that will only work when PHP 8.0 or PHP 8.1 is running on a server as they will have decided to abandon support for PHP 7.4 all together.

So IPS and custom and marketplace apps will support (or not) a variety of vastly different PHP versions for the next several years. 

With the upcoming release of 4.7 developers are already starting to upload compatible updates of their apps.

The rule of thumb in the past has been that marketplace submissions had to fully support PHP 7.4 and support for PHP 8 or higher was optional, so there was little reason to note PHP compatibility.

Now that PHP 8 support is no longer going to be optional but will soon be a necessity the marketplace will need to track PHP compatibility for each new release. 

After a quick audit of the new marketplace releases, some developers are being very diligent and are clearly noting which PHP versions are supported and some are not.

It would be nice to put into place a marketplace guideline that all new uploads post 4.7 should clearly state which PHP version or versions that release is fully compatible with.

That way customers can audit their marketplace purchases to see if all of them will uniformly support a particular PHP version. 

It would be great if IPS added an additional "File Information" attribute as shown below to allow customers to more readily see and search for PHP version compatibility on this site and in the ACP marketplace.

Could contain: Text, Plot, Menu, Word, Diagram

Hopefully, PHP 8.2 and beyond we won't have to worry so much about PHP compatibility. 

Link to comment
Share on other sites

A field that would...

  • need to be updated with or without any actually changes required to the resource.
  • add additional approvals for IPS to perform
  • ultimately be ignored, with questions still being asked in support topics like "does this support IPS 4.x?" or "does this support PHP 8.x?"

 

Edited by Nathan Explosion
Link to comment
Share on other sites

23 hours ago, Stuart Silvester said:

We expect Marketplace resources to be compatible with the same versions that the version of the software it is for is compatible with. There have been a few exceptions to this ( I'm thinking of something @CodingJungle wrote ) where the PHP requirements were clearly stated in the description.

Please see my findings attached below.  If a customer installs the suite on a site running PHP 8 or higher one would assume that all of the marketplace apps would be compatible based on the statement above. Even though PHP 8 has been around for 1 1/2 years many marketplace apps are not in fact fully compatible and in some instances, they will break a site hard if they are enabled with PHP 8 running. You might be expecting marketplace developers to keep their apps compatible with each new PHP release, but they are not consistently meeting those expectations.

A lot of assumptions are at play here.  I'm simply recommending that IPS and marketplace developers be more explicit around PHP compatibility to minimize problems going forward.

Encouraging customers to upgrade to PHP 8 could be very problematic if many custom and marketplace developers have not ensured their apps are fully compatible. A site is bound to show very strange behavior that will be difficult to trace from a customer's perspective and IPS support and marketplace developers.

I updated to PHP 8 approximately a month ago while testing out 4.7 betas.  I reenabled all of my third-party apps and I couldn't log into the ACP any longer.  Revert back to PHP 7.4 and I could.  After disabling all third-party resources, I painstakingly reenabled them one at a time to find out the last resource was NOT compatible with PHP 8. It's quite possible that those individuals that had purchased that particular resource hadn't updated to PHP 8 so the developer never received any reports of incompatibilities,   I myself had used the app without any incident for a year but on PHP 7.4. 

Once being apprised of the situation; I was told the resource had not been vetted to run on PHP 8.  So as long as I don't enable that app which has great value to my site, I can use all of the others.  I have only installed a small portion of third-party apps so I don't know how many more will be problematic.  There might be just enough apps incompatible with PHP 8 that I won't be able to update to that version for some time.  So I will revert back to PHP 7.4 which will be problematic as some of my resources will only support PHP 8 going forward as the developer has chosen to drop support for PHP 7.4 going forward.  

Each PHP version currently available has minus and plusses in their use.  I'm simply encouraging some clarity around the issue so that customers can choose a version that's best for their unique needs and have the requisite information to make an informed decision. That should come from both the IPS team and marketplace developers.  The more forthcoming you are the less one-on-one support interactions you will have to endure.

PHP Audit.docx

Link to comment
Share on other sites

  • Recently Browsing   0 members

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