Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13776|Răspunde: 1

[Asistență mutuală] Cum să repari eroarea Includes\cls_template.php pe linia 418 în ecshop

[Copiază linkul]
Postat pe 20.02.2015 17:20:02 | | |

Problema cu care m-am confruntat înainte, am fost foarte tulburat, cum să o rezolv, iar acum am găsit în sfârșit o soluție, iar acum o voi împărtăși cu voi, problema este următoarea:
Standarde stricte: Doar variabilele trebuie transmise prin referință în upload\includes\cls_template.php pe linia 418
Linia 418: $tag_sel = array_shift(explode(' ', $tag));

Soluția 1:
Problema cu versiunile 5.3 și versiunile ulterioare ar trebui să fie legată și de configurație. Atâta timp cât linia 418 împarte această propoziție în două, nu există nicio problemă $tag_sel = array_shift(explode(' ', $tag)); Schimbat în:

$tag_arr = explodează(' ', $tag); $tag_sel = array_shift($tag_arr);
Deoarece parametrii array_shift sunt transmisi prin referință, doar anumite variabile pot fi transmise implicit peste 5.3, iar valoarea nu poate fi returnată prin funcție
În același mod, atunci când întâlnești erori de imbricare a funcțiilor, acestea pot fi scrise separat, iar erorile vor fi rezolvate natural

Ca:
funcție get_dyna_libs($theme, $tmp)
{
$extsub = explodează('.', $tmp);
$ext = sfârșit($extsub);
$tmp = nume de bază($tmp,".$ext");
$sql = 'SELECT regiune, bibliotecă, sort_order, id, număr, tip'.
' DE ' . $GLOBALS['ecs']->tabel('șablon').
" UNDE tema = '$theme' ȘI numele fișierului = '" . $tmp . "' ȘI tastează > 0 ȘI remarcă=''".
"ORDONARE DUPĂ regiune, bibliotecă, sort_order";
$res = $GLOBALS['db']->getAll($sql);
$dyna_libs = tablou();
foreach ($res AS $row)
{
$dyna_libs[$row['regiune']][$row['bibliotecă']][] = array(
'id' => $row['id'],
'număr' => $row['număr'],
'type' => $row['type']
);
}
returnează $dyna_libs;
}

set $ext = end(explode('.', $tmp));
Schimbare
$extsub = explodează('.', $tmp);
$ext = sfârșit($extsub);

Soluția 2 (Eroare de mascare):

Sau, dacă este configurat astfel: error_reporting = E_ALL | E_STRICT
Următoarele setări sunt disponibile în php.ini:
error_reporting = E_ALL | E_STRICT

Aceasta înseamnă că sunt afișate avertismente pentru standardele de codificare.
Joomla recomandă de fapt anularea erorii output, care ar trebui schimbată dacă este necesar pentru depanare
error_reporting = E_ALL & ~E_NOTICE

Problema a fost rezolvată.




Precedent:Interfață API pentru informații spațiale QQ
Următor:Care sistem de blog personal este mai bun, să vorbim despre el
Postat pe 21.02.2015 21:13:21 |
Se recomandă reducerea directă a versiunii PHP la PHP5.2.x
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com