> 백엔드 개발 > PHP 문제 > PHP 웹사이트 오류 500을 처리하는 방법

PHP 웹사이트 오류 500을 처리하는 방법

王林
풀어 주다: 2023-02-25 16:36:02
원래의
4072명이 탐색했습니다.

PHP 웹사이트 오류 500을 처리하는 방법

PHP 프로그램 구문 오류로 인해

장면 1: # 🎜 🎜#

프로젝트는 알람 모니터링(10분마다 웹사이트의 고정 링크에 액세스하도록 예약)으로 설정되어 있습니다. 하루에 두세 번 500 오류 이메일을 받을 때도 있었지만, 수동으로 다시 접속했는데 접속이 정상이네요..

이게 가장 흔한 오류여야 하고, 문법적인 오류도 금방 다시 나타날 수 있으니 오류 메시지가 노출되는 한 문제가 될 수 있습니다. 즉시 해결됩니다. 로컬이나 테스트 환경이라면 보통 이렇게 처리합니다. 프로그램 입구에서 출력 오류 메시지를 설정하면 됩니다:

//error_reporting设置应该报告的错误,下面表示除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);
//输出错误
ini_set('display_errors', 1);
로그인 후 복사

하지만 온라인 환경에서는 모든 사용자가 사용하기 때문입니다. , 허용하는 것은 불가능합니다. 방금 이렇게 노골적인 인쇄 오류를 범했습니다. 어떻게 해야 합니까? 프로그램 항목 파일에서 오류 출력을 로그 파일로 설정할 수 있습니다. 구체적인 코드는 다음과 같습니다.

error_reporting(E_ALL ^ E_NOTICE);
//禁止把错误输出到页面
ini_set('display_errors', 0);
//设置错误信息输出到文件
ini_set('log_errors', 1);

//指定错误日志文件名
$error_dir = '/logs/err/';
$error_file = $error_dir . date('Ymd').'.log';
//目录不存在就创建
if (!is_dir($error_dir)){
    mkdir($error_dir, 0777, true);
}
//文件不存在就创建之
if(!file_exists($error_file)){
    $fp = fopen($error_file, 'w+');
    if($fp){
        fclose($fp);
    }
}

//设置错误输出文件
ini_set("error_log", $error_file);

//程序正常执行逻辑......
로그인 후 복사

방금 언급한 시나리오 1의 문제는 나중에 로그인에 출력할 때 발견되었습니다. 위와 같은 방법으로 mysql 접속이 비정상적으로 끊어지고 프로그램이 계속 실행되었기 때문에(mysql 접속시에는 정상이었는데, 특정 쿼리 메소드를 호출하면 에러가 발생했다는 점을 기억해두자) mysqli_real_escape_string()을 사용), 드디어 성공적으로 복구되었습니다.

디스크가 가득 차서

시나리오 2:

사진 Go를 업로드할 수 없습니다. 계속해서 500 오류가 발생합니다.

500 디스크 공간이 부족하고 데이터를 읽고 쓸 수 있는 공간이 부족하여 발생하는 오류는 극히 드물며 제때 감지하기 어렵습니다. 일반적으로 500 오류가 발생하면 가장 먼저 떠오르는 것은 프로그램 오류일 수도 있습니다. 실제로 프로그램에서 문제를 찾을 수 없는 경우에는 디스크 공간 부족 때문일 수도 있습니다. 디스크 공간이 부족합니다.

df -h 查看磁盘空间占用情况
로그인 후 복사

PHP 웹사이트 오류 500을 처리하는 방법

추천 튜토리얼:

PHP 비디오 튜토리얼

위 내용은 PHP 웹사이트 오류 500을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿