Jump to content

PHP8 will be the minimum version from November 2022


Matt

Recommended Posts

  • Management

As you may have noticed, we've been doing a lot of work to prepare Invision Community to use PHP8 as the minimum version.

If you are an Invision Community Cloud client, then you do not need to worry about any of this, and can happily click out of this topic.

For those who host Invision Community on their own servers, then please read on.

PHP7 is now end of life and from November, PHP will no longer offer security updates. PHP8 is a major update which brings many changes including how errors are either logged and means that what was a harmless notice or log entry is now a fatal error which Invision Community cannot capture.

We have introduced the application and plugin scanner to ensure that your site is not "bricked" (unrecoverable from a fatal error) when you upgrade to PHP8 although you currently have the option to re-enable any disabled applications or plugins.

From the November 2022 release, we will require PHP8.0 as the minimum version. If you are currently using PHP7 then you must contact your host and plan your PHP8 upgrade to ensure compatibility with Invision Community from November onwards.

We are rolling out dismissible AdminCP banners to those who are currently on PHP7.

If you are unsure what version of PHP your server is running, simply log into your Admin CP then navigate to System > Get Support and check out the PHP version block.

Could contain: Text, Page, Business Card, Paper

The November release of Invision Community will also mean that you are no longer able to re-enable plugins the application scanner disables. We continue to work on this tool to refine its error checking and logging verbosity.

If you have any questions, please let me know below.

 

Link to comment
Share on other sites

Assumption made:

  • the notification is generated by a background task on the relevant site

Theory:

  • Task method is set to CRON
  • The CRON task itself is using PHP 7.4.x for PHP, while the site itself is using a different version

Resolution:

  • Modify the CRON details in your scheduler
Link to comment
Share on other sites

1 hour ago, Nathan Explosion said:

Assumption made:

  • the notification is generated by a background task on the relevant site

Theory:

  • Task method is set to CRON
  • The CRON task itself is using PHP 7.4.x for PHP, while the site itself is using a different version

Resolution:

  • Modify the CRON details in your scheduler

Very good spot 🙂 

Link to comment
Share on other sites

Hi. I've got the same thing despite being on php 8. I can see the potential explanation above, but how do I fix it? I have the following cron job on my server, I've had a look at the task.php file. I can't see any reference to php 7 anywhere.

 

php -d memory_limit=-1 -d max_execution_time=0 /home/customer/www/washerhelp.co.uk/public_html/forums/applications/core/interface/task/task.php cd0e5a90ec46904f51980f7f8bd36132

 

Link to comment
Share on other sites

2 hours ago, Washerhelp said:

Hi. I've got the same thing despite being on php 8. I can see the potential explanation above, but how do I fix it? I have the following cron job on my server, I've had a look at the task.php file. I can't see any reference to php 7 anywhere.

 

php -d memory_limit=-1 -d max_execution_time=0 /home/customer/www/washerhelp.co.uk/public_html/forums/applications/core/interface/task/task.php cd0e5a90ec46904f51980f7f8bd36132

 

If you are unsure what version of PHP is executing your CRON jobs, it would be advised to contact your host provider or server administrator for assistance.

Link to comment
Share on other sites

HI, 

I've tried to set up the 8.0 or 8.1 PHP version but it only makes our community to display a blank screen. I've enabled all the available modules and nothing changes.
Could you please be more precise on what PHP modules are needed by our communities in PHP 8.X to work properly. And maybe someway to debug the community in order to know why we got a blank screen ?

Thankyou,

D

Link to comment
Share on other sites

Just now, Dexter_X said:

HI, 

I've tried to set up the 8.0 or 8.1 PHP version but it only makes our community to display a blank screen. I've enabled all the available modules and nothing changes.
Could you please be more precise on what PHP modules are needed by our communities in PHP 8.X to work properly. And maybe someway to debug the community in order to know why we got a blank screen ?

Thankyou,

D

More than likely if you're getting a blank screen and you're running third party applications/plugins, you will want to check that they are compatible with PHP 8. I would advise disabling those and switching to an unmodified theme to test before going to PHP 8.

Anytime you get a blank screen though, you will want to check with your hosting provider to obtain a server error log entry to confirm what is happening. Then you can review what is happening in that log and debug the error on your community.

To disable all third party applications/plugins, you can of course use recovery mode too: https://invisioncommunity.com/4guides/client-services/getting-support-r292/#recoverymode

 

Link to comment
Share on other sites

FWIW, my site converted smoothly, but not running many third party apps/plugins.

Invision Community
Version 4.7.2.1

PHP
Version 8.1.10

Database
Version 10.6.10-MariaDB

 

I did get a notice on the GMP PHP extension missing that I'm looking to get resolved with my host. 

Quote

Web Push Unavailable
Unfortunately, your server does not have the GMP PHP extension installed. Please contact your host or consider switching to Invision Cloud Community which has Web Push Notifications enabled.

It does bring up the same question as @Dexter_X regarding what the list of PHP modules required (or optionally beneficial, i.e. caching) are.

Link to comment
Share on other sites

I got in touch with my hosting tech support as suggested. I had no idea that when you set your website to run on PHP 8 that the Cron jobs don't change and have to be told to use PHP 8 "manually".

This seems crazy, but if it is the case, it would be great if Invision told us this when advising us to change to PHP 8? If this information is  made clear, then my bad - and please accept apologies 🙂

They changed the Cron from -

php -d memory_limit=-1 -d max_execution_time=0 /home/customer/www/washerhelp.co.uk/public_html/forums/applications/core/interface/task/task.php cd0e5a90ec46904f51980f7f8bd36132

To

php80 -d memory_limit=-1 -d max_execution_time=0 /home/customer/www/washerhelp.co.uk/public_html/forums/applications/core/interface/task/task.php cd0e5a90ec46904f51980f7f8bd36132

Hopefully that will wok OK. But 2 queries arose from the investigation. First, the permissions on task.php are set at 777? (not me) and second, what is the strange set of numbers and letters at the end of the Cron syntax and does it need deleting cd0e5a90ec46904f51980f7f8bd36132 ?

I got the syntax initially from somewhere at Invision

 

 

 

Link to comment
Share on other sites

18 minutes ago, teraßyte said:

Yes the task.php file needs to be 777 in order to run properly. And the key at the end (set of numbers and letters) is a parameter that gets passed to the backend code when it runs. Leave everything as is and you're good. 👍

Mine at /applications/core/interface/task/task.php is 744

Link to comment
Share on other sites

18 minutes ago, Washerhelp said:

This seems crazy, but if it is the case, it would be great if Invision told us this when advising us to change to PHP 8? If this information is  made clear, then my bad - and please accept apologies 🙂

Glad to hear you got this sorted. Keep in mind, when running CRON, this is a server-side tool, your hosting provider is the best source for the best command to be running.

Link to comment
Share on other sites

Thankyou @Jim M, I've found an old third party app that was causing the blank screen. I don't know what to do now because it is an app we use as main management for our community, but at least I know where the problem cames from...

@Washerhelp thankyou but I already know you need to type the right PHP path into your cron task from your hosting management panel. My problem did not come from there. But regarding what you say, when you check "cron task" in the community settings it tells you what you need to type, including the path, you only need to make a "copy paste" and job's done ! 😉 

And beware for the others, the PHP path is not always the same, it depends on your hosting installation, you need to refer to the ACP path to type the right one !

 

Thankyou all for your advices, now at least I know where my problems came from.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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