2012-07-31 5 views
18

* Apache2/MySQL/PHP5를 사용하여 Amazon AWS에 Ubuntu Server 12.04 LTS를 새로 설치했습니다. 나는 PHP 스크립트를 실행하고 오류가 발생하면 나는 지금까지 내가해야 오류보고를 말할 수있는 내 /etc/php5/apache2/php.ini 파일을 확인하고있다PHP가 오류를 표시하지 않음 - 내부 서버 오류 (500)

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request. 

내가 보는 모든이, PHP에서보고 오류가 표시되지 않습니다 설정. 파일의 내용 (오류 관련)은 다음과 같습니다.

; display_errors 
;  Default Value: On 
;  Development Value: On 
;  Production Value: Off 

; display_startup_errors 
;  Default Value: Off 
;  Development Value: On 
;  Production Value: Off 

; error_reporting 
;  Default Value: E_ALL & ~E_NOTICE 
;  Development Value: E_ALL | E_STRICT 
;  Production Value: E_ALL & ~E_DEPRECATED 

누구든지 조언 할 수 있습니까? 만약 내가 $obj = new ObjectDoesntExist; 같은 것을 시도하면 Fatal error: Class 'ObjectDoesntExist' 내게 말해주지 않는다. 그것은 나에게 서버 500 오류를 준다.

조언이 있으십니까?

* 내가 설치 한 모듈은 mysql-server mysql-client apache2 php5 libapache2-mod-php5 phpmyadmin입니다. 그 외에는 우분투 서버 12.04의 완전히 기본 설치입니다 LTS

EDIT : 스크립트 시작 부분에 ini_set('display_errors', '1');을 사용하면 정상적으로 오류가 표시되지만이 사이트를 어떻게 활성화합니까?

+0

아파치 서버가 있다면 error_log에 아무것도 보이니? mode_php가 작동하지 않는 것 같습니다. ''결과를 줍니까? – favoretti

+0

아파치 오류 로그'/ var/log/apache2/error.log'를 확인 했습니까? – Kalpesh

+2

php.ini의 모든 행은 주석 처리됩니다. 'display_errors'가 선언 된 곳을 찾아서 켜십시오. –

답변

14

붙여 넣은 php.ini 스 니펫에는 각 줄에 세미콜론 (;)이 있습니다. 세미콜론은 php.ini에서 주석의 시작이므로 세미콜론 다음에 오는 모든 내용은 사용되지 않습니다. 수동으로 display_errors를 on으로 설정하고 error_reporting을 E_ALL로 설정하거나 적절한 세미콜론을 제거하여이 문제를 해결하십시오.

또한 아파치의 오류 로그를 확인하십시오. PHP가 오류를 기록했을 수 있습니다.

+0

위 게시판에서';'주석을 제거하고'display_errors = On' 및'display_startup_errors = On'을'php.ini' 파일에서 찾았지만 여전히 같은 문제로 설정 했습니까? – iainjames88

+1

php.ini에서 변경 한 후에 아파치를 다시 시작 했습니까? 아파치의 오류 로그에 오류가 있습니까? – Wouter

+2

답장을 기다리는 동안 아파치를 다시 시작하여 해결했습니다. 원래 그렇게하지 않은 것에 대해 약간 어리석은 느낌! 도움을 주셔서 감사합니다 :) – iainjames88

0

동일한 문제가 있지만 동일한 오류가있는 경우 php.ini 과 관련이 없습니다. 서버에서 스니핑을 시작하기 전에 먼저 코드를 확인하십시오. 실수가 누락 될 수 있음}) 또는; 또는 그런 것. 이것은 무엇을 먼저 할지를 참고하는 것입니다.

2

sudo gedit /etc/php5/apache2/php.ini와 Production Value를 사용하여 php.ini 파일을 편집하거나 ini_set ('display_errors', '1');을 사용할 수도 있습니다. 귀하의 PHP 파일의 상단에