Probleem, millega varem kokku puutusin, olen olnud väga mures, kuidas seda lahendada, ja nüüd olen lõpuks leidnud lahenduse ning jagan seda teiega, probleem on järgmine: Ranged standardid: ainult muutujad tuleks edastada viite kaudu failis upload\includes\cls_template.php real 418 Rida 418: $tag_sel = array_shift(plahvata(' ', $tag));
Lahendus 1: Probleem versioonidega 5.3 ja uuemate peaks samuti olema seotud konfiguratsiooniga. Kui rida 418 jagab selle lause kaheks lauseks, pole probleemi $tag_sel = array_shift(explode(' ', $tag)); Muudetud kujule:
$tag_arr = plahvata(' ', $tag); $tag_sel = array_shift($tag_arr); Kuna array_shift parameetrid edastatakse viite kaudu, saab vaikimisi edastada ainult konkreetseid muutujaid üle 5.3 ning väärtust ei saa funktsiooni kaudu tagastada Samamoodi saab funktsioonide pesastamise vigade korral neid eraldi kirjutada ning vead lahendatakse loomulikult
Nagu: funktsioon get_dyna_libs($theme, $tmp)
{ $extsub = plahvata('.', $tmp); $ext = lõpp($extsub); $tmp = baasnimi($tmp,".$ext"); $sql = 'SELECT piirkond, raamatukogu, sort_order, id, number, tüüp' . ' PÄRIT ' . $GLOBALS['ecs']->tabel('mall') . " KUS teema = '$theme' JA failinimi = '" . $tmp . "' JA kirjuta > 0 JA märkused=''". 'JÄRJEKORD piirkondade, raamatukogu, sort_order'; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = massiiv(); foreach ($res AS $row)
{ $dyna_libs[$row['region']][$row['library']][] = massiivi( 'id' => $row['id'], 'number' => $row['number'], 'type' => $row['type'] );
} return $dyna_libs;
}
komplekt $ext = lõpp(plahvatus('.', $tmp)); Muutus $extsub = plahvata('.', $tmp); $ext = lõpp($extsub);
Lahendus 2 (maskeerimisviga):
Või kui see on seadistatud nii: error_reporting = E_ALL | E_STRICT Järgmised seaded on php.ini saadaval: error_reporting = E_ALL | E_STRICT
See tähendab, et kuvatakse koodistandardite hoiatused. Joomla soovitab tegelikult vea väljundi tühistada, mida tuleks vajadusel muuta silumiseks error_reporting = E_ALL & ~E_NOTICE
Probleem sai lahendatud. |