이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 13776|회답: 1

[상호 지원] ecshop에서 418행의 Includes\cls_template.php 오류 수정 방법

[링크 복사]
게시됨 2015. 2. 20. 오후 5:20:02 | | |

전에 겪었던 문제, 저는 매우 고민했어요. 어떻게 해결해야 할지 고민했는데, 이제 마침내 해결책을 찾았고, 여러분과 공유할게요. 문제는 다음과 같습니다:
엄격한 기준: 418행의 upload\includes\cls_template.php에서 참조로 변수만 전달해야 합니다
418행: $tag_sel = array_shift(explode(' ', $tag));

해결책 1:
버전 5.3 이상에서의 문제는 구성 문제와도 관련이 있을 것입니다: 418행이 이 문장을 두 문장으로 나누는 한 문제는 없습니다 $tag_sel = array_shift(explode(' ', $tag)); 변경:

$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
array_shift의 매개변수는 참조를 통해 전달되기 때문에, 기본값은 5.3 이상인 특정 변수만 전달할 수 있으며, 함수를 통해 값을 반환할 수 없습니다
마찬가지로, 함수 중첩 오류를 만났을 때는 별도로 작성할 수 있으며, 오류가 자연스럽게 해결됩니다

만큼:
함수 get_dyna_libs($theme, $tmp)
{
$extsub = 폭발('.', $tmp);
$ext = 끝($extsub);
$tmp = basename($tmp,".$ext");
$sql = '영역, 라이브러리, sort_order, ID, 번호, 유형' 선택
' '에서. $GLOBALS['ecs']->table('template') .
"여기서 theme = '$theme' 그리고 파일명 = '" . $tmp. "' AND type > 0 AND remarks=''".
'도서관, 도서관, sort_order 지역별 순서 안내';
$res = $GLOBALS['db']->getAll($sql);
$dyna_libs = array();
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 인터페이스
다음:어떤 개인 블로그 시스템이 더 나은지 이야기해 봅시다
게시됨 2015. 2. 21. 오후 9:13:21 |
PHP 버전을 PHP5.2.x로 직접 줄이는 것이 권장됩니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com