Beim Ändern der PHP-Version von 7.4 auf 8.0 erscheint ein leerer Bildschirm (Joomla 3.10.11, Gantry 4.1.43). Woran kann das liegen?
Leerer Bildschirm nach Umstellung PHP7.4 PHP8.0
- Maenamstefan
- Erledigt
-
-
Siehe für detailliertere Fehlermeldungen: Fehler finden durch detailliertere Fehlermeldung. Debug-Modus. Call stack.
EDIT: Und, wenn ich auf dieser Seite schaue, sind die letzten PHP-Fixes für PHP 7. Schätze also, du solltest auf 7 bleiben. Keine Ahnung, ob es möglich ist einfach auf Gantry 5 umzusteigen.
-
Beim Ändern der PHP-Version von 7.4 auf 8.0 erscheint ein leerer Bildschirm (Joomla 3.10.11, Gantry 4.1.43). Woran kann das liegen?
Vielleicht das Backup einspielen und dann erstmal alle Extensions/Template/Framework aktualisieren.
Aktuelles Gantry ist 5.5.15:
-
Bei einem Freund läuft php 8.0 mit meiner Gantry-Version 4.1.43.......
-
Dann hat er (noch) Glück mit der veralteten Version.
-
Hatte doch schon das erste Gantry5. Habe aktualisiert auf 5.5.15 - läuft mit php8.0 immer noch nicht...
-
Vielleicht liegt es ja gar nicht am Gantry?
-
Genau das ist die Frage...
Habe schon alle möglichen PlugIns, Module usw. deaktiviert, trotzdem läuft die Webseite mit PHP8 nicht...
-
Deshalb gab es auch einen Tipp in #2
-
Ab heute lache ich nur noch. Vielleicht bin ich ja auch auf zu vielen Ignorierlisten?
-
Erstmal schon sehr hilfreich, dadurch kam folgende Fehlermeldung:
"Fatal error: Array and string offset access syntax with curly braces is no longer supported in /homepages/11/d129812742/htdocs/EU/plugins/system/gantry/functions.php on line 44"
Hier die function.php, liegt an den geschweifen Klammern, müssen irgendwie ersetzt werden
<?php
/**
* @version $Id: functions.php 5317 2012-11-20 23:03:43Z btowles $
* @author RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/
/**
* Get the list of available platform versions
* @return array the list of available Platform Versions
*/
function gantry_getAvailablePlatformVersions($dir)
{
$dir = rtrim($dir, '/\\');
// find all entries in the dir
$entries = array();
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && is_dir($dir . '/' . $entry)) {
$key = (preg_match('/^\d+\.\d+$/', $entry)) ? $entry . '.0' : $entry;
$entries[$entry] = $key;
}
}
closedir($handle);
}
$entries = array_filter($entries, 'gantry_versionfilter');
uksort($entries, 'version_compare');
return array_reverse(array_keys($entries));
}
function gantry_versionfilter($version)
{
$jversion = new JVersion();
return version_compare($version, $jversion->getShortVersion(), '<=');
}
// get current extensions and view
function gantry_parsePathComponents($path, $endSlash = true, $base = false)
{
for ($path = trim($path), $slash = strstr(PHP_OS, 'WIN') ? '\/' : '/', $retArray = array(), $str = $temp = "", $x = 0; $char = @$path{$x}; $x++) {
if (!strstr($slash, $char)) $temp .= $char; elseif ($temp) {
$str .= $temp;
$retArray[$temp] = $str . ($endSlash ? $slash{0} : '');
$str .= $slash{0};
$temp = "";
}
}
$base && $temp and $retArray[$temp] = $str . $temp;
return $retArray;
}
Da hat hoffentlich jemand eine Idee...
-
Danke für die Tipps, Problem gelöst.
Es lag an der gantry.php und function.php (...eu/plugins/system/gantry/...) oder einer von beiden. Habe mir sie von einem Freund mit gleichem System schicken lassen, damit meine ersetzt - jetzt funzt PHP8.1
Danke nochmal an alle Beteiligten!
-
Toll, alles hat eine Weile mit PHP8.0 funktioniert, ich hatte im Backend die Fehleranzeige auf 0 zurückgestellt nachdem alles gefunzt hat. Wollte alles nochmal checken und habe die Fehleranzeige wieder auf Maximum gestellt. Dann war alles leer mit der Fehlermeldung
Error: Failed to start application: syntax error, unexpected token "\"
Im Backend und im Frontend...
Habe über FTP in der configurations.php die Fehleranzeige auf 0 zurückgestellt, trotzdem nix auf dem Schirm, reicht mir für heute