복붙노트

500 내부 서버 오류가 HTML 파일이 아닌 [중복]

PHP

500 내부 서버 오류가 HTML 파일이 아닌 [중복]

내 사이트에 4-5 개의 정적 페이지 만 있습니다. index.html & index.php 모두 있습니다. index.html이 잘 작동합니다. index.php로 변경하면 500 내부 서버 오류가 발생합니다. 내 실수는 어디 있는지 모르겠다.

노트 : .htaccess 파일을 php_flag display_errors 1과 함께 사용하면,

그것은 보여주고있어 또한, 요청을 처리하기 위해 ErrorDocument를 사용하려고 시도하는 동안 500 내부 서버 오류 오류가 발생했습니다.

빈 .htaccess 파일을 사용하는 경우,

그것은 보여줍니다 또한, ErrorDocument를 사용하여 요청을 처리하는 동안 404 Not Found 오류가 발생했습니다.

그리고 ../contact-us.php를 주면 올바르게 표시됩니다.

감사...

해결법

  1. ==============================

    1.500 내부 서버 오류는 PHP 코드에 치명적인 오류가 있지만 오류 표시가 꺼져있는 경우 표시됩니다. 500 오류 페이지 대신 오류 자체를 보려면 다음을 시도해보십시오.

    500 내부 서버 오류는 PHP 코드에 치명적인 오류가 있지만 오류 표시가 꺼져있는 경우 표시됩니다. 500 오류 페이지 대신 오류 자체를 보려면 다음을 시도해보십시오.

    귀하의 PHP 파일 :

    ini_set('display_errors', 1);
    

    .htaccess 파일에서 :

    php_flag display_errors 1
    
  2. ==============================

    2.PHP 파일에는 644로 설정된 사용 권한이 있어야합니다. PHP 파일 및 PHP 액세스 (예 : 파일 업로드 용)가 포함 된 폴더는 755로 설정된 사용 권한이 있어야합니다. 사용 권한이 설정된 파일 또는 폴더를 처리 할 때 PHP는 500 오류를 실행합니다 777에!

    PHP 파일에는 644로 설정된 사용 권한이 있어야합니다. PHP 파일 및 PHP 액세스 (예 : 파일 업로드 용)가 포함 된 폴더는 755로 설정된 사용 권한이 있어야합니다. 사용 권한이 설정된 파일 또는 폴더를 처리 할 때 PHP는 500 오류를 실행합니다 777에!

  3. ==============================

    3.Windows CRLF에서 Unix LF로 줄 바꿈 문자를 변경하여 .htaccess 파일에서 수정했습니다.

    Windows CRLF에서 Unix LF로 줄 바꿈 문자를 변경하여 .htaccess 파일에서 수정했습니다.

  4. ==============================

    4.나는이 질문이 오래되었다는 것을 알고 있지만 Windows 8.1에서 .htaccess 파일을 사용하여 재 작성하는 동안이 문제가 발생했습니다. 내 솔루션은 간단했다, httpd.conf에서 다음 줄을 수정하는 것을 잊었다.

    나는이 질문이 오래되었다는 것을 알고 있지만 Windows 8.1에서 .htaccess 파일을 사용하여 재 작성하는 동안이 문제가 발생했습니다. 내 솔루션은 간단했다, httpd.conf에서 다음 줄을 수정하는 것을 잊었다.

    #LoadModule rewrite_module modules/mod_rewrite.so
    

    LoadModule rewrite_module modules/mod_rewrite.so
    

    아파치 모니터를 다시 시작하면 이제는 모두 잘 작동합니다. 미래의 누군가가 간단한 문제로 동일한 문제를 해결할 수 있기 때문에 답변으로 게시하십시오.

    행운을 빕니다!

  5. ==============================

    5.MySQL에 연결하려고했기 때문에이 문제가 발생했지만 필요한 패키지가 없었습니다. 오류 로그를 확인하기 위해 @ Amadan의 의견으로 인해 알아 냈습니다. 내 경우 오류가 발생했습니다 : 정의되지 않은 함수를 호출 mysql_connect ()

    MySQL에 연결하려고했기 때문에이 문제가 발생했지만 필요한 패키지가 없었습니다. 오류 로그를 확인하기 위해 @ Amadan의 의견으로 인해 알아 냈습니다. 내 경우 오류가 발생했습니다 : 정의되지 않은 함수를 호출 mysql_connect ()

    PHP 파일에 My-SQL db에 연결할 코드가 있으면 php5-mysql을 먼저 설치해야 할 수도 있습니다. 설치하지 않았기 때문에이 오류가 발생했습니다. 내 모든 파일 사용 권한이 좋았습니다. 우분투에서는 다음 명령으로 설치할 수 있습니다 :

    sudo apt-get php5-mysql을 설치하십시오.

  6. ==============================

    6.Google은 여기에 안내하지만 내 문제는 해결되지 않았습니다. 이것은 매우 일반적인 질문이며 여러 가지 원인이 있으므로 나중에 누구나 읽을 수 있도록 내 문제와 해결책을 게시합니다.

    Google은 여기에 안내하지만 내 문제는 해결되지 않았습니다. 이것은 매우 일반적인 질문이며 여러 가지 원인이 있으므로 나중에 누구나 읽을 수 있도록 내 문제와 해결책을 게시합니다.

    500 오류의 또 다른 원인은 다음과 같은 헤더 (...) 함수의 구문 오류입니다.

    header($_SERVER['SERVER_PROTOCOL'] . '200 OK');
    

    서버 프로토콜과 상태 코드 사이에는 공백이 있어야하므로 다음과 같아야합니다.

    header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
    

    따라서 코드에 HTTP 헤더 호출이 있는지 확인하는 것이 좋습니다.

  7. from https://stackoverflow.com/questions/17693391/500-internal-server-error-for-php-file-not-for-html by cc-by-sa and MIT license