development

500 내부 서버 오류가 발생하지 않고 PHP가 오류를 표시하도록하려면 어떻게해야합니까

big-blog 2020. 6. 28. 17:41
반응형

500 내부 서버 오류가 발생하지 않고 PHP가 오류를 표시하도록하려면 어떻게해야합니까


이 질문에는 이미 답변이 있습니다.

이것은 결코 전에 일어난 적이 없다. 일반적으로 오류를 표시하지만 이제는 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 파일을 참조한다는 것을 알았습니다. (#바보)

참고 URL : https://stackoverflow.com/questions/2687730/how-can-i-make-php-display-the-error-instead-of-giving-me-500-internal-server-er

반응형