500 내부 서버 오류가 발생하지 않고 PHP가 오류를 표시하도록하려면 어떻게해야합니까
이 질문에는 이미 답변이 있습니다.
- 죽음의 PHP 흰색 화면 15 답변
이것은 결코 전에 일어난 적이 없다. 일반적으로 오류를 표시하지만 이제는 500 내부 서버 오류가 발생합니다. 물론 이전에는 오류를 표시했을 때 다른 서버였습니다. 이제 새 서버를 사용하고 있습니다 (풀 루트가 있으므로 php.ini 어딘가에 구성 해야하는 경우 가능합니다.) 아니면 Apache와 관련이 있습니까?
파일을 다른 서버로 전송하고 오류를 찾기 위해 파일을 실행하면 너무 지루해졌습니다. 이 문제를 해결하는 방법이 있습니까?
을 확인 error_reporting
, display_errors
그리고 display_startup_errors
당신의 설정 php.ini
파일. 그들은으로 설정해야 E_ALL
하고 "On"
(당신이 사용하지 않아야하지만 각각 display_errors
, 프로덕션 서버에 있으므로이를 해제하고 사용하는 log_errors
대신에 당신이 그것을 배포 할 때 / 경우). display_startup_errors
스크립트 시작시이 설정 (을 제외하고 )을 변경 하여 런타임에 설정할 수도 있습니다 (이 방법으로 모든 오류를 잡을 수는 없음).
error_reporting(E_ALL);
ini_set('display_errors', 'On');
그런 다음 서버를 다시 시작하십시오.
오류가 .htaccess로 인한 경우 (예 : rewrite_module 누락) 여전히 500 내부 서버 오류가 표시됩니다.
명령 행에서 "php -l <filename>"( 'L')을 사용하여 PHP로 인해 상태 500 오류가 발생할 수있는 구문 오류를 출력하십시오. 다음과 같이 출력됩니다.
PHP 구문 분석 오류 : 구문 오류, 18 행의 <filename>에서 예기치 않은 '}'
다음을 확인하십시오
display_errors
또는
error_reporting
ini 파일의 다른 곳에서 활성화되어 있습니다 (주석 아님).
쿠분투 16.04로 업그레이드 한 후 개발 서버에서 오류 표시를 거부했습니다. php.ini를 여러 번 확인했습니다 ... diplay_errors = off; 내 아래 약 100 줄
display_errors = on;
마지막 카운트를 기억하십시오!
PHP 코드에서 오류 표시를 활성화해도 문제가 해결되지 않습니다. 필자의 경우 NGINX 및 PHP-FMP를 사용하여 grep을 사용하여 로그 파일을 추적합니다 . 예를 들어, 파일 이름 mycode.php 는 오류 500을 발생 시킨다는 것을 알고 있지만 어떤 줄을 알지 못합니다. 콘솔에서 나는 이것을 사용합니다 :
/var/log/php-fpm# cat www-error.log | grep mycode.php
그리고 나는 출력을 가지고있다 :
[04-Apr-2016 06:58:27] PHP Parse error: syntax error, unexpected ';' in /var/www/html/system/mycode.php on line 1458
이것은 내가 오타가있는 줄을 찾는 데 도움이됩니다.
가지 마세요
MAMP > conf > [your PHP version] > php.ini
그러나
MAMP > bin > php > [your PHP version] > conf > php.ini
그리고 거기에서 그것을 바꾸면 그것은 나를 위해 일했습니다 ...
다른 모든 방법이 실패하면 모든 파일과 디렉토리를 "이동"한 다음 하나씩 다시 추가하십시오.
방금 내 .htaccess 파일이 존재하지 않는 .htpasswd 파일을 참조한다는 것을 알았습니다. (#바보)
'development' 카테고리의 다른 글
파이썬에서의 부정 (0) | 2020.06.28 |
---|---|
Docker 이미지 "레이어"란 무엇입니까? (0) | 2020.06.28 |
이벤트가 사람에 의해 트리거되는지 확인 (0) | 2020.06.28 |
자바 스크립트 정규식-대안을 보시겠습니까? (0) | 2020.06.28 |
Windows cmd 스크립트에서 여러 명령 실행 (0) | 2020.06.28 |