Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 13776|Antwoord: 1

[Wederzijdse Hulp] Hoe de fout 'Includes cls_template.php\ op lijn 418 in ecshop te repareren.

[Link kopiëren]
Geplaatst op 20-02-2015 17:20:02 | | |

Het probleem waar ik eerder tegenaan liep, ik was erg van streek, hoe ik het kon oplossen, en nu heb ik eindelijk een oplossing gevonden, en nu deel ik die met jullie, het probleem is als volgt:
Strikte standaarden: Alleen variabelen mogen via referentie worden doorgegeven in upload\includes\cls_template.php op regel 418
Regel 418: $tag_sel = array_shift(explode(' ', $tag));

Oplossing 1:
Het probleem met versies 5.3 en hoger moet ook gerelateerd zijn aan de configuratie Zolang regel 418 deze zin in twee zinnen splitst, is er geen probleem $tag_sel = array_shift(explode(' ', $tag)); Gewijzigd naar:

$tag_arr = exploderen(' ', $tag); $tag_sel = array_shift($tag_arr);
Omdat de parameters van array_shift via referentie worden doorgegeven, kunnen standaard alleen specifieke variabelen boven 5,3 worden doorgegeven, en kan de waarde niet via de functie worden teruggegeven
Op dezelfde manier kunnen bij het tegenkomen van functie-nestingfouten deze afzonderlijk worden geschreven, en worden de fouten vanzelf opgelost

Als:
functie get_dyna_libs($theme, $tmp)
{
$extsub = exploderen('.', $tmp);
$ext = einde($extsub);
$tmp = basisnaam($tmp,".$ext");
$sql = 'SELECTEER regio, bibliotheek, sort_order, id, nummer, type'.
' VAN ' . $GLOBALS['ecs']->table('template') .
" WAAR thema = '$theme' EN bestandsnaam = '" . $tmp. "' EN typ > 0 EN opmerkingen=''".
'VOLGORDE OP regio, bibliotheek, sort_order';
$res = $GLOBALS['db']->getAll($sql);
$dyna_libs = array();
foreach ($res ALS $row)
{
$dyna_libs[$row['region']][$row['library']][] = array(
'id' => $row['id'],
'nummer' => $row['nummer'],
'type' => $row['type']
);
}
return $dyna_libs;
}

set $ext = end(explode('.', $tmp));
Verandering
$extsub = exploderen('.', $tmp);
$ext = einde($extsub);

Oplossing 2 (maskerfout):

Of als het zo is geconfigureerd: error_reporting = E_ALL | E_STRICT
De volgende instellingen zijn beschikbaar in de php.ini:
error_reporting = E_ALL | E_STRICT

Dit betekent dat waarschuwingen voor coderingsnormen worden weergegeven.
Joomla raadt eigenlijk aan om foutuitvoer te annuleren, wat indien nodig voor het debuggen veranderd moet worden
error_reporting = E_ALL & ~E_NOTICE

Het probleem was opgelost.




Vorig:QQ ruimte-informatie API-interface
Volgend:Welk persoonlijk blogsysteem is beter, laten we het erover hebben
Geplaatst op 21-02-2015 21:13:21 |
Het wordt aanbevolen om de PHP-versie direct te reduceren naar PHP5.2.x
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com