2014-01-25 3 views
0

CodeIgniter 2.x는 여전히 mysql이라는 클래식 코드를 사용합니다. 우리는 여전히 그것을 사용하는 것은 나쁜 습관이라는 것을 알고 있지만, 제 직업은 여전히 ​​CodeIgniter를 사용해야합니다.로그에서 오류도 표시하지 않음

항상 내 Console.app (OSX)에서 Apache/MySQL/PHP/CodeIgniter 고유 오류 로그를 열어 볼 수 있습니다.

이제 대부분 모든주의 사항/오류/등이 있습니다. MAMP에서 Webgrind를 사용하여 지속적으로 모니터 할 때 항상 즉시 수정됩니다.

맨 처음으로 돌아 가기; 나는 끊임없이 각 페이지로드 PHP가 항상 mysql_pconnect에 관한 에러를주는 큰 성가신 일을 미래에 사용하지 않을 것입니다.

CodeIgniter 드라이버에서 명령은 @에 의해 표시되지 않고 경고를 화면에 인쇄하지 않지만 로그에는 계속 표시됩니다.

특히 PHP 코드 또는 PHP 설정에서 이러한 오류 중 하나를 제외 할 수있는 효과적인 방법이 있습니까?

로컬 PHP 코어 전체를 다시 컴파일하고 경고를 제거 할 수는 있지만 프로덕션 설치의 로그에서 해당 경고를 제거하고 싶습니다. P. 사전에

감사합니다!

답변

1

전통적으로 "disabling deprecated errors"에 언급 된대로 error_reporting(E_ALL^E_NOTICE^E_DEPRECATED)을 사용하여 오류를 상세하게 표시 할 수 있습니다 (예 : 알림 및 비난 경고 제외).

귀하의 문제는 모든 오류의 소유권을 가져 오는 CodeIgniter와 관련이있을 수 있습니다.

system/core/CodeIgniter.phpset_error_handler을 호출합니다. system/core/Common.php에서 오류 _exception_handler을 찾아서 수정할 수 있습니다. 구성 가능한 것으로 보이지 않으므로 $is_error으로 시작하는 행을 편집하기 만하면됩니다.

+0

감사 정보 Jacob. '_exception_handler'에서 full-string에 사용자 정의'$ message' 일치를 추가 했으므로 정확한 오류에 대한 로깅을 건너 뜁니다. 마지막으로 깨끗한 로그, 감사합니다! –

관련 문제