tires Posted July 4, 2023 Share Posted July 4, 2023 I would like to update a website to php8 that was previously running on 5.4. Unfortunately I'm having problems with several modules like MarkupSEO and AllInOneMinify that haven't been updated in a long time and don't seem to work with PHP8. Even in PHP7.4 some errors are thrown out. I'm afraid this is a general problem with the modules on older websites, isn't it? Or a general problem of a cms with less popularity? How do you deal with this? Link to comment Share on other sites More sharing options...
teppo Posted July 5, 2023 Share Posted July 5, 2023 10 hours ago, tires said: I'm afraid this is a general problem with the modules on older websites, isn't it? Or a general problem of a cms with less popularity? As someone who has spent considerable time dealing with similar issues, submitting error reports and PRs, etc. in the context of WordPress plugins, I can say that it's simply a general issue with dependencies. Popularity of the CMS matters very little, if at all. Relative popularity of the module/plugin matters more, though even that is not a 100% guarantee. You can avoid some of this by only using the dependencies you truly require, and choosing the ones to use carefully: see if they are actively maintained, whether that is by regular code updates or via the support forum. 10 hours ago, tires said: How do you deal with this? Only using the dependencies I truly require, and choosing the ones to use carefully ? There's no silver bullet here. If the module author is still active you can submit error reports via support forum and/or GitHub. If the author is no longer active, someone (including you) could fork the module and make fixes there, but unless new maintainer is going to really commit into maintaining the module, it's not a good long term solution. For modules that are no longer actively maintained, my recommendation would be to move on — find something else that gets the job done. Or better yet, don't use a module. Again, you should only use the modules that you truly need. Alternatives for the modules you've mentioned: Instead of MarkupSEO you could look into Seo Maestro, but since the author (Wanze) has stated that they are no longer actively involved with ProcessWire, it's questionable whether this is a good long term solution either. We use Markup Metadata, which does at least some of the same tasks; it's also less involved/opinionated, which means that it's easier to maintain. Instead of AllInOneMinify I would really recommend looking into ProCache. It's not free, but if it's for a commercial purpose (or long term personal projects etc.) it is — in my opinion — well worth the cost. It also does a lot for your site's performance that AllInOneMinify won't do. 11 Link to comment Share on other sites More sharing options...
tires Posted July 5, 2023 Author Share Posted July 5, 2023 Hey Teppo! Thanks for your detailed answer! Less is more, right? ? I will definitely try out the ProCache module. In the future I will try to reduce the number of modules used. 1 Link to comment Share on other sites More sharing options...
matjazp Posted July 5, 2023 Share Posted July 5, 2023 You can try my fork of aiom https://github.com/matjazpotocnik/ProcessWire-AIOM-All-In-One-Minify 3 Link to comment Share on other sites More sharing options...
tires Posted July 5, 2023 Author Share Posted July 5, 2023 2 hours ago, matjazp said: You can try my fork of aiom https://github.com/matjazpotocnik/ProcessWire-AIOM-All-In-One-Minify Thanks for the hint! Is it already compatible to PHP8? Link to comment Share on other sites More sharing options...
matjazp Posted July 6, 2023 Share Posted July 6, 2023 Yes, it even works on PHP 8.3 and it's caching option is almost as fast as ProCache. 1 Link to comment Share on other sites More sharing options...
bernhard Posted July 6, 2023 Share Posted July 6, 2023 4 hours ago, matjazp said: and it's caching option is almost as fast as ProCache Do you have numbers for that? I can't really believe it and it sounds interesting ? Link to comment Share on other sites More sharing options...
matjazp Posted July 6, 2023 Share Posted July 6, 2023 Quote Do you have numbers for that? I can't really believe it and it sounds interesting ? Nope, as I don't have ProCache, but based on what I've read and info from the forum, ProCache serves static files and there might be directives needed in .htaccess. I'm on IIS so it's not an option for me. AIOM+ leverages the template page cache built in core and uses a small php file to render those files. It's not perfect as modification of index.php is needed for best results (I have a feature request open). It also works if you modify some settings in site config.php, but it's not that effective. Link to comment Share on other sites More sharing options...
bernhard Posted July 6, 2023 Share Posted July 6, 2023 Thx @matjazp I read your readme and understood the concept. Quote 29 seconds: no cache enabled 6 seconds: built-in cache enabled 0.017 seconds: ProCache enabled I guess with your method it would be somewhere in between the 0.017 seconds from ProCache and the 6 seconds from the built-in template cache. Would have been interesting to get some real results, especially how much faster your approach is compared to the built-in cache. Link to comment Share on other sites More sharing options...
dotnetic Posted July 6, 2023 Share Posted July 6, 2023 On 7/4/2023 at 10:34 PM, tires said: How do you deal with this? I recommend using Rector for upgrading legacy code or modules. I have written a short introduction/tutorial how you can use it here: You can then select which files or paths should be updated and to which PHP version and it does automated safe refactoring on them. Most of the plugins should then work out of the box with PHP 8, I have converted several modules with it. New rulesets for rector are published whenever they are needed. It is a great tool. 1 Link to comment Share on other sites More sharing options...
matjazp Posted July 6, 2023 Share Posted July 6, 2023 1.10 seconds: no cache enabled 1.00 seconds: built-in cache enabled 0.095 seconds: AIOM+ enabled I'm not using debug timer, just timings in browser network tab. @bernhardperhaps you could test AIOM+ on the same setup as you tested with ProCache (29 seconds ???). Link to comment Share on other sites More sharing options...
bernhard Posted July 7, 2023 Share Posted July 7, 2023 Hey @matjazp that's the numbers that Ryan shared here: https://processwire.com/store/pro-cache/#procache-html-output-caching-xml-or-json-too Quote The performance benefits are drastic and visible. Using ApacheBench with the homepage of the Skyscrapers site profile, we completed 500 requests (10 concurrent) to the homepage. The amount of time occupied to complete each of these was as follows: Link to comment Share on other sites More sharing options...
matjazp Posted July 7, 2023 Share Posted July 7, 2023 I installed SkyScraper profile (last commit from year 2013, not compatible with PW3) on PW 3.0.221 and loaded home page: 1.10 seconds: no cache enabled 1.00 seconds: built-in cache enabled 0.35 seconds: AIOM+ enabled 1 Link to comment Share on other sites More sharing options...
zoeck Posted July 7, 2023 Share Posted July 7, 2023 1 hour ago, matjazp said: I installed SkyScraper profile (last commit from year 2013, not compatible with PW3) on PW 3.0.221 and loaded home page: Did you possibly use the v1 of the skyscraper profile? This is the more current (2016) one here: https://github.com/ryancramerdesign/skyscrapers2 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now