IT박스

html이 아닌 php 파일에 대한 500 내부 서버 오류

itboxs 2020. 11. 16. 07:59
반응형

html이 아닌 php 파일에 대한 500 내부 서버 오류


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

내 사이트에는 4-5 개의 정적 페이지 만 있습니다. index.htmlindex.php 모두 있습니다. index.html이 제대로 작동합니다. index.php로 변경하면 500 Internal Server Error. 내 실수가 어디에 있는지 모르겠어요?

참고 : 내가 사용하는 경우 의 .htaccess 로 파일을 php_flag display_errors 1,

그것은 보여주는 Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

내가 사용하는 경우 의 .htaccess 로 파일을 empty,

그것은 보여주는 Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

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

감사...


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

PHP 파일에서 :

ini_set('display_errors', 1);

.htaccess 파일에서 :

php_flag display_errors 1

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


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

#LoadModule rewrite_module modules/mod_rewrite.so

...에

LoadModule rewrite_module modules/mod_rewrite.so

아파치 모니터를 다시 시작했으며 이제 모두 잘 작동합니다. 미래의 누군가가 간단한 수정으로 동일한 문제를 겪을 수 있기 때문에 이것을 답변으로 게시하십시오.

행운을 빕니다!


MySQL에 연결하려고했지만 필요한 패키지가 없었기 때문에이 문제가 발생했습니다. 오류 로그를 확인하기 위해 @Amadan의 의견 때문에 알아 냈습니다. 제 경우에는 오류가 발생했습니다.Call to undefined function mysql_connect()

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

sudo apt-get install php5-mysql


.htaccess나를 위해 수정 파일 에서 줄 끝 (Windows CRLF에서 Unix LF로)을 변경 했습니다.


Google은 여기에서 나를 안내하지만 내 문제를 해결하지 못했습니다. 이것은 매우 일반적인 질문이며 다양한 원인이 있으므로 나중에 누군가가 이것을 읽을 수 있도록 여기에 문제와 해결책을 게시합니다.

500 오류의 또 다른 가능한 원인은 다음 header(...)과 같은 함수의 구문 오류입니다 .

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

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

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

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

참고 URL : https://stackoverflow.com/questions/17693391/500-internal-server-error-for-php-file-not-for-html

반응형