Problemet jag stötte på tidigare, jag har varit mycket bekymrad över hur jag ska lösa det, och nu har jag äntligen hittat en lösning, och nu ska jag dela den med er, problemet är följande: Strikta standarder: Endast variabler ska skickas via referens i upload\includes\cls_template.php på rad 418 Rad 418: $tag_sel = array_shift(explode(' ', $tag));
Arbetslösning 1: Problemet med versionerna 5.3 och högre bör också relateras till konfigurationen. Så länge rad 418 delar upp denna mening i två meningar finns det inget problem $tag_sel = array_shift(explode(' ', $tag)); Ändrat till:
$tag_arr = explodera(' ', $tag); $tag_sel = array_shift($tag_arr); Eftersom parametrarna för array_shift skickas via referens kan endast specifika variabler som standard skickas över 5,3, och värdet kan inte returneras via funktionen På samma sätt kan funktionsinbäddningsfel skrivas separat, och felen löses naturligt
Som: Funktion get_dyna_libs($theme, $tmp)
{ $extsub = explodera('.', $tmp); $ext = slut($extsub); $tmp = basnamn($tmp,".$ext"); $sql = 'VÄLJ region, bibliotek, sort_order, id, nummer, typ'. 'FRÅN'. $GLOBALS['ecs']->table('template') . " DÄR tema = '$theme' OCH filnamn = '" . $tmp. "' OCH skriv > 0 OCH anmärkningar=''". 'ORDNING EFTER region, bibliotek, sort_order'; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = array(); foreach ($res SOM $row)
{ $dyna_libs[$row['region']][$row['library']][] = array( 'id' => $row['id'], 'number' => $row['number'], 'typ' => $row['typ'] );
} returnera $dyna_libs;
}
set $ext = end(explode('.', $tmp)); Förändring $extsub = explodera('.', $tmp); $ext = slut($extsub);
Lösning 2 (maskeringsfel):
Eller om konfigurerat så här: error_reporting = E_ALL | E_STRICT Följande inställningar finns tillgängliga i php.ini: error_reporting = E_ALL | E_STRICT
Detta innebär att varningar för kodningsstandarder visas. Joomla rekommenderar faktiskt att man avbryter felutdata, vilket bör ändras till vid behov för felsökning error_reporting = E_ALL & ~E_NOTICE
Problemet var löst. |