Problemet jeg støtte på før, jeg har vært veldig opprørt over hvordan jeg skal løse det, og nå har jeg endelig funnet en løsning, og nå vil jeg dele den med dere, problemet er som følger: Strenge standarder: Kun variabler skal sendes ved referanse i upload\includes\cls_template.php på linje 418 Linje 418: $tag_sel = array_shift(eksplodere(' ', $tag));
Løsning 1: Problemet med versjoner 5.3 og oppover bør også være relatert til konfigurasjonen. Så lenge linje 418 deler denne setningen i to setninger, er det ikke noe problem $tag_sel = array_shift(explode(' ', $tag)); Endret til:
$tag_arr = eksplodere(' ', $tag); $tag_sel = array_shift($tag_arr); Fordi parameterne til array_shift sendes ved referanse, kan kun spesifikke variabler som standard sendes over 5,3, og verdien kan ikke returneres gjennom funksjonen På samme måte kan funksjonsnestrede feil skrives separat, og feilene løses naturlig
Som: funksjon get_dyna_libs($theme, $tmp)
{ $extsub = eksplodere('.', $tmp); $ext = slutt($extsub); $tmp = basename($tmp,".$ext"); $sql = 'VELG region, bibliotek, sort_order, id, nummer, type'. ' FRA ' . $GLOBALS['ecs']->table('template') . " HVOR tema = '$theme' OG filnavn = '" . $tmp . "' OG skriv > 0 OG bemerkninger=''". ' ORDEN ETTER 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'], 'nummer' => $row['nummer'], 'type' => $row['type'] );
} returner $dyna_libs;
}
sett $ext = slutt(eksplodere('.', $tmp)); Endring $extsub = eksplodere('.', $tmp); $ext = slutt($extsub);
Løsning 2 (maskeringsfeil):
Eller hvis konfigurert slik: error_reporting = E_ALL | E_STRICT Følgende innstillinger er tilgjengelige i php.ini: error_reporting = E_ALL | E_STRICT
Dette betyr at advarsler om kodingsstandarder vises. Joomla anbefaler faktisk å avbryte feilutdata, som bør endres til om nødvendig for feilsøking error_reporting = E_ALL & ~E_NOTICE
Problemet var løst. |