0

「Server API=CGI/FastCGI」の新サーバー(PHP Version 5.3.8)にサイトを移したところ、1ページ(public_html/user/index.php)以外は正常に動作していました。エラーが発生しました:

500内部サーバーエラー

次に、Server API を「Apache 2.0 Handler」に変更しました。空白のページが表示されるようになりました。phpinfo( ) で register_globals Off が表示される

public_html/user/ の .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 を実行していました

何かアドバイスはありますか?

4

4 に答える 4

1

register_globals が廃止されても、特にコメントアウトされている場合は、内部サーバー エラーが発生することは説明されません。

サーバーによって認識されていない、または許可されていない値を設定しようとしているため、内部サーバー エラーが発生しています。一般的なサーバー エラーと同様に、apache のエラー ログにエラーの詳細が表示されます。

私の最初の推測では、PHP スクリプトを実行している (www) ユーザーには、.htaccess を介して php_value:s を設定する権限が与えられていません。.htaccess 値を設定するには、Apache 構成に AllowOverride Options または AllowOverride All 特権 (「すべて」には「オプション」が含まれます) が必要です。私の最初のことは、それを確認することです。php_value ディレクティブには、AllowOverride オプション権限が必要です。

于 2012-01-12T15:20:30.987 に答える
0

register_globalsPHP 5.3以降非推奨になり、セキュリティ上の理由からデフォルトでオフになっています。

詳細については、pHPのドキュメントを参照してください。

于 2012-01-12T15:16:02.190 に答える
0

php_value および php_flag コマンドは廃止されており、.htaccess で使用すると、ほとんどのサーバーで 500 エラーが発生します。これらの設定は、システム上の php.ini ファイルまたは同等のファイルで行う必要があります。

于 2014-01-17T14:48:22.347 に答える