Help Test PHP 8.0 Compatibility in v1.5.0-RC1

After years of hard work, the PHP 8.0 compatibility in ClassicPress is finally here.
Today, we have released version 1.5.0-RC1 for testing. This version includes PHP 8.0 compatibility, among many other improvements. You can see the full changelog here.
Now, we need your help testing 1.5.0-RC1 with PHP 8.0. Our core team has done extensive testing prior to today’s release, but hosting environments tend to be as unique as snowflakes. That’s why we need your help testing ClassicPress with PHP 8.0 in your hosting environment.
We don’t recommend testing on your production websites, unless you know what you’re doing and can recover quickly from a crash.
How to Upgrade an Existing ClassicPress Website
Before you do anything, make sure to back up your website. You want to have a backup in an emergency to recover.
You’ll need our migration plugin to upgrade to v1.5.0-RC1. Use the “Advanced” section of the migration plugin to switch to the release build:
This version will be available using the built-in update mechanism when it is released as 1.5.0 final.
Make sure you upgrade ClassicPress to v1.5.0-RC1 before you switch to PHP 8.0, otherwise your website might break and/or show errors.
If you’re on cPanel hosting, you should be able to change your PHP version in cPanel. If you’re not sure how to do it, ask your hosting support.
Report Any Issues Found
While you’re testing, it is helpful to enable debug.log
to see if there are any errors or notices. You can also check your php_error.log
. To enable it, replace define( 'WP_DEBUG', false );
in your wp-config.php
with the following code:
// Enable WP_DEBUG mode define( 'WP_DEBUG', true ); // Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true ); // Disable display of errors and warnings define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );
Once you finish testing, you can change all true
to false
.
If you notice any issues, please report them either in the forum or create a bug report on GitHub. GitHub is the preferred method, but if you’re not sure how to use it feel free to report issues in the forum.
We appreciate your help testing ClassicPress with PHP 8.0.
I copied my entire installation of ClassicPress 1.4.4 from my production VPS server into my new development virtual machine running PHP 8.1 and everything seems to work fine after I upgrade to 1.5.0-rc1. I am able to post a comment and access the admin panel.
My development VM runs Debian Sid/Unstable with PHP 8.1. I will wait for ClassicPress 1.5 to come out before I upgrade my VPS machine from Ubuntu 20.04 LTS to 22.04 LTS.
This release doesn’t yet provide PHP 8.1 support. There will be issues. At this time, only PHP 8.0 is supported.
testing this RC on a multisite setup with several plugins on a PHP 8.0.26 and debugging to true with error logging.
I am on hosting with the Plesk panel.
No errors so far, and everything works smoothly.
Below are my test results. Except for ClassicSEO plugin, all seems to be working fine.
Server details
VPS : Intel Xeon, 16GB RAM, 4Core
Debian : 11
Apache : 2.4.54
MySQL : 8.0.31
CP version : 1.4.4
PHP : 7.4.33
Plugins:
Plus:
Installation now is more or less a basic production installation.
Update cpcompatibility failed: “Update Failed: Internal Server Error”, error log shows it’s Classic Seo causing it:
classicpress-seo/includes/module/class-manager.php(43): Classic_SEO\Helpers\Conditional::is_heartbeat()\n#3
After removing it cpcompatibility worked again and updated. Downloaded new version from CP SEO from the CP website, installation fails (changed username/domain in below). This is, I’d say, an essential plugin:
Fatal error: Uncaught TypeError: filter_var(): Argument #3 ($options) must be of type array|int, string given in /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/includes/helpers/class-param.php:56 Stack trace: #0 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/includes/helpers/class-param.php(56): filter_var() #1 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/classicpress-seo.php(314): Classic_SEO\Helpers\Param::request() #2 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/classicpress-seo.php(188): Classic_SEO->init_actions() #3 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/classicpress-seo.php(164): Classic_SEO->setup() #4 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/classicpress-seo.php(440): Classic_SEO::get() #5 /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/classicpress-seo.php(444): cpseo() #6 /home/user/domains/userdomain.nl/public_html/cp/wp-admin/includes/plugin.php(2137): include(‘…’) #7 /home/user/domains/userdomain.nl/public_html/cp/wp-admin/plugins.php(176): plugin_sandbox_scrape() #8 {main} thrown in /home/user/domains/userdomain.nl/public_html/cp/wp-content/plugins/classicpress-seo/includes/helpers/class-param.php on line 56
Thanks for the feedback. I’m not sure what we can do with Classic SEO. I want the plugin to be active, but I’ve failed to get any developers on board to help maintain it.