A problémám, amivel korábban szembesültem, nagyon aggódtam, hogyan oldhatnám meg, és most végre találtam megoldást, és most megosztom veletek, a probléma a következő: Szigorú szabványok: Csak a változókat kell átadni hivatkozással a feltöltés\tartalmazza\cls_template.php a 418. soron 418. sor: $tag_sel = array_shift(robbanó(' ', $tag));
1. megoldás: Az 5.3-as és annál magasabb verziók problémája a konfigurációval is összefügg: Amíg a 418. sor két mondatra osztja ezt a mondatot, nincs probléma $tag_sel = array_shift(explode(' ', $tag)); Átalakítva:
$tag_arr = felrobbanás(' ', $tag); $tag_sel = array_shift($tag_arr); Mivel array_shift paraméterei referencia alapján adhatók át, csak bizonyos változók adhatók el alapértelmezés szerint 5.3 felett, és az érték nem tér vissza a függvényen keresztül Ugyanígy, ha függvénybeágyazási hibákkal találkozunk, külön is írhatók, és a hibák természetesen megoldódnak
Amint: function get_dyna_libs($theme, $tmp)
{ $extsub = felrobbanni ('.', $tmp); $ext = vég($extsub); $tmp = alapnév($tmp,".$ext"); $sql = 'SELECT régió, könyvtár, sort_order, azonosító, szám, típus' . ' FROM '. $GLOBALS['ecs']->table('template') . " WHERE téma = '$theme' ÉS fájlnév = '" . $tmp. "' ÉS > 0 ÉS megjegyzések =''" típusa. 'HELY RÉGIÓ, könyvtár, sort_order'; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = array(); foreach ($res MINT $row)
{ $dyna_libs[$row['region']][$row['library']][] = array( 'id' => $row['id'], 'number' => $row['number'], 'type' => $row['type'] );
} return $dyna_libs;
}
$ext halmaz = vég(explode('.', $tmp)); Változás $extsub = felrobbanni ('.', $tmp); $ext = vég($extsub);
2. megoldás (maszkolási hiba):
Vagy ha így van konfigurálva: error_reporting = E_ALL | E_STRICT A következő beállítások elérhetők a php.ini-ben: error_reporting = E_ALL | E_STRICT
Ez azt jelenti, hogy kódolási szabványok figyelmeztetései jelennek meg. A Joomla valójában azt javasolja, hogy töröljék a hiba kimenetet, amit ha szükség van hibakereséshez error_reporting = E_ALL & ~E_NOTICE
A probléma megoldódott. |