Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 13776|Отговор: 1

[Взаимопомощ] Как да оправим грешката Includes\cls_template.php on line 418 в ecshop

[Копирай линк]
Публикувано в 20.02.2015 г. 17:20:02 ч. | | |

Проблемът, с който се сблъсках преди, беше много разстроен как да го реша, и сега най-накрая намерих решение, и сега ще го споделя с вас, проблемът е следният:
Строги стандарти: Само променливите трябва да се предават чрез препратка при upload\includes\cls_template.php на ред 418
Ред 418: $tag_sel = array_shift(explode(' ', $tag));

Заобиколно решение 1:
Проблемът с версиите 5.3 и по-горе трябва да е свързан и с конфигурацията. Докато ред 418 разделя това изречение на две изречения, няма проблем $tag_sel = array_shift(explode(' ', $tag)); Променено на:

$tag_arr = експлодира(' ', $tag); $tag_sel = array_shift($tag_arr);
Тъй като параметрите на array_shift се предават чрез референция, по подразбиране могат да се предават само специфични променливи над 5.3, а стойността не може да бъде върната чрез функцията
По същия начин, когато се сблъскат с грешки при вложене на функции, те могат да бъдат написани отделно и грешките се решават естествено

Като:
функция get_dyna_libs($theme, $tmp)
{
$extsub = експлодира('.', $tmp);
$ext = край($extsub);
$tmp = основно име($tmp,".$ext");
$sql = 'SELECT region, library, sort_order, id, number, type'.
' ОТ ' . $GLOBALS['ecs']->table('template') .
" КЪДЕТО темата = '$theme' А името на файла = '" . $tmp . "' И тип > 0 И забележки=''".
'РЕД ПО РЕГИОНИ, БИБЛИОТЕКА, sort_order';
$res = $GLOBALS['db']->getAll($sql);
$dyna_libs = масив();
foreach ($res AS $row)
{
$dyna_libs[$row['region']][$row['library']][] = array(
'id' => $row['id'],
'число' => $row['номер'],
'тип' => $row['тип']
);
}
return $dyna_libs;
}

set $ext = end(explode('.', $tmp));
Промяна
$extsub = експлодира('.', $tmp);
$ext = край($extsub);

Решение 2 (Грешка при маскиране):

Или ако е конфигурирано така: error_reporting = E_ALL | E_STRICT
Следните настройки са налични в php.ini:
error_reporting = E_ALL | E_STRICT

Това означава, че се показват предупреждения за стандартите за кодиране.
Joomla всъщност препоръчва анулиране на изхода на грешка, което трябва да се промени при нужда при отстраняване на грешки
error_reporting = E_ALL & ~E_NOTICE

Проблемът беше решен.




Предишен:Интерфейс на QQ пространство информационен API
Следващ:Коя лична блог система е по-добра, нека поговорим за това
Публикувано в 21.02.2015 г. 21:13:21 ч. |
Препоръчва се директно да се намали PHP версията до PHP5.2.x
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com