As I do not expected the author of this plugin to react:
The reason is the outdated PHP-Library ‘PEL’ that is used by the Gmedia-Plugin. Gmedia uses PEL but did obviously never update the code of this PHP-library. An update of PEL is available on Github, even for PHP 8. The way is now to change the PHP-files of gmedia.
Mind that all changes will be lost, if we get an update of gmedia once.
Solution for people with coding experience:
1. Do a backup of the gmedia-plugin folder, and even better your whole wordpress site.
2. Download current pel from github: https://github.com/pel/pel to your machine.
3. Extract the ./pel/src – Folder of pel to ../wp-content/plugins/grand-media/inc/pel
4. Change the one and only function in autoload.php in the folder /wp-content/plugins/grand-media/inc/pel to:
function gmedia_pel_autoloader($class) {
if ( substr_compare ( $class, 'lsolesen\\pel\\', 0, 13 ) === 0) {
$file = str_replace('lsolesen\\pel\\', '', $class );
$load = realpath(dirname(__FILE__) . '/' . $file . '.php');
if($load !== false) {
include_once realpath($load);
}
}
}
5. Change the code in core.php in ../wp-content/plugins/grand-media/inc:
All occurences of Pel… to \lsolesen\pel\Pel. (pel introduced a namespace).
I changed lines: 1959, 1964, 1979, 1980, 1982, 1997, 1998, 2005, 2006, 2013, 2014, 2021. I did not change line 2027 for the Exception.
Example:
>> 1959 \lsolesen\pel\Pel::setJPEGQuality( 100 );
6. Upload the new pel-folder and the core.php to your site. Test.
For me this solved the problem