문제

WAMP 에서이 오류를 끄는 방법 :

정의되지 않은 오프셋에 주목하십시오

이 오류 만 돌리고 싶지만 모든 오류는 아닙니다.

도움이 되었습니까?

해결책

여기에는 두 가지 문제가 있습니다. 하나는 PHP 보고서 오류이며, 두 번째는 페이지에 오류를 표시하는지 여부입니다 (Apache 오류 로그와 달리). 끄고 싶다면 통지 만 해제하려면 다음과 같습니다.

<?php
error_reporting(E_ALL & ~E_NOTICE);
?>

통지를 오류 로그에보고하지만 사용자에게 표시하지 않으려면 다음을 수행하십시오.

<?php
ini_set('display_errors','off');
?>

디스플레이 오류를 끄면 최종 사용자에게 모든 오류가 표시되지 않으며 테스트하는 동안 오류가 표시되도록 일반적으로/var/log/httpd/error_log에있는 오류 로그를 살펴 봐야합니다.

다른 팁

살펴보십시오 error_reporting().

예를 들어 오류보고를 설정할 수 있습니다

error_reporting(E_ERROR | E_WARNING | E_PARSE)

그러나 실제로는 무엇이 무엇인지 확인하는 것이 좋습니다. Notice 그리고 그것을 고치십시오. 그런 다음 당신은 저장면에 있습니다.

E_NOTICE
런타임 통지. 스크립트가 오류를 나타낼 수 있지만 스크립트를 실행하는 일반 과정에서도 발생할 수있는 무언가가 발생했음을 나타냅니다.

(코드를 수정할 수없는 경우 ...)보고 수준을 설정하여 통지를 제외 할 수 있습니다. x & ~E_NOTICE, 예를 들어

<?php error_reporting( error_reporting() & ~E_NOTICE );

또는 php.ini (또는 이와 유사한)

error_reporting=E_ALL & ~E_NOTICE

php.ini => error_reporting = e_all & ~ e_notice

오류-> 정의되지 않은 오프셋을 통지하십시오

주요한 것은 스크립트에서 오류를 제거하는 것입니다. 프로그램은 항상 오류가 숨기지 않고 오류가없는 프로그램을 설계하기를 원합니다.

배열 밸러가 설정되지 않으므로 PHP가 해당 배열 키의 값에 액세스하려고 할 때 정의되지 않은 오프셋이 발생합니다.

$new_array = array('1','2','3');//If I have an array
//We can now access:
$new_array[0];
$new_Array[1];
$new_array[2];
//If we try and access
$new_Array[3];

동일한 오류가 발생합니다-> error-> 통지 미정 오프셋

 error_reporting(E_ALL);
 ini_set('display_errors', 'On');
 ini_set('html_errors', 'Off');

:디

Windows OS C : WAMP bin apache apache2.4.4 bin 에서이 방향으로 이동 한 다음 514 라인에 권장되는 모든 편집기에 의해 php.ini 파일을 열면이 두 줄을 붙여 넣습니다.

; error_reporting = e_all
error_reporting = e_all & ~ e_notice

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top