2012-01-12 6 views
0

"Server API = CGI/FastCGI"를 가진 새 서버 (PHP 버전 5.3.8)로 웹 사이트를 전송했지만 웹 페이지가 한 페이지 (public_html/user/index.php)를 제외하고 제대로 작동했습니다. 나는, 서버 API를 "아파치 2.0 처리기를"변경 지금은 빈 페이지를 얻을, 그리고500 내부 서버 오류 - register_globals

500 내부 서버 오류

: 나는 오류가 발생했습니다. 은 phpinfo()가 컨텐츠 아래가/나에게 public_html을/사용자의 register_globals를 끄기

htaccess로를 보여주고있다

#deny from all 

#AddType application/x-httpd-php .html 

#AddHandler x-httpd-php .html 

#AddHandler x-httpd-php .htm 

#AddType image/x-icon .ico 

php_value display_errors On 

#php_value register_globals On 

php_value error_reporting E_ALL 

#E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR 

기존 서버는 PHP 버전 5.2.8

어떤 조언을 실행했다?

+0

이것이 반드시 문제의 근원은 아닙니다. 상태 500 오류의 경우,'error.log'를보십시오. – mario

답변

0

register_globals은 PHP 5.3부터 사용되지 않으며 보안상의 이유로 기본적으로 해제되어 있습니다.

자세한 내용은 pHP documentation을 참조하십시오.

+0

응답 해 주셔서 감사합니다. PHP 5.3에서 작동하도록하는 방법이 있습니까? 몇 가지 가져 오기 옵션을 보았지만 어떤 것이 작동하고 어떻게 사용할 수 있는지 알지 못합니까? –

1

register_globals가 더 이상 사용되지 않아 내부 서버 오류가 발생합니다. 특히 주석 처리 된 오류가 있습니다.

서버에서 이해하지 못하거나 허용하지 않는 값을 설정하려고하므로 내부 서버 오류가 발생합니다. 일반적으로 서버 오류와 마찬가지로 아파치의 오류 로그는 오류의 세부 정보를 제공해야합니다.

경험에 따르면, 내 첫 번째 추측은 PHP 스크립트를 실행하는 (www) 사용자에게 .htaccess를 통해 php_value : s를 설정할 수있는 권리가 주어지지 않았을 것입니다. .htaccess 값을 설정하려면 Apache 구성 AllowOverride Options 또는 AllowOverride All privilege ("All"에는 "Options"포함)가 있어야합니다. 내 첫 번째 일은 그것을 확인하는 것입니다. php_value 지시어는 AllowOverride 옵션 권한이 필요합니다.

0

php_value 및 php_flag 명령은 사용되지 않으며 .htaccess에서 사용될 때 대부분의 서버에서 500 개의 오류가 발생합니다. 그들의 설정은 php.ini 파일이나 그와 동등한 시스템에서 이루어져야합니다.

0

나는이 오류가 발생했습니다.

은 phpinfo() - 내 웹 사이트에이 register_globals의

2 시간의 R & D 웹 검색을 통해

발견 용액 오프 =로 표시 하였다 - 가 register_globals의 행의 php.ini 오프 = 편집 한

을하고 업로드 다시 웹 사이트가 몇 초 만에 돌아 왔습니다.

희망이 솔루션은 누군가가 자신의 웹 사이트를 운영하는 데 도움이되기를 바랍니다.