2012-04-13 4 views
2

に表示されていない私は、このマークがついていますアップ:PHPエラーが

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title></title> 
</head> 
<body> 

    <?php 
     ini_set('display_errors', 1); 
     ini_set('log_errors', 1); 
     include_once('../API/session_management.php'); 
     //Checking session fixation: 
     $sess=new session_management(); 
     $sess->set_session_configurations(); 
     $sess->prevent_session_hijacking(); 
    ?> 
    sdfsd 
    <a href=""></form> 
    <form> 
     <input type="text" name="test"/> 
    </form> 
</body> 

問題は、私は、コードを実行すると、エラーがあるということです。空白のページが印刷されています。エラーは表示されません。これはなぜですか?エラーを有効にするにはどうすればよいですか?

これは私が後とPHPのiniと再起動のapacheに上に表示エラーを変更する前に取得した出力です:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title></title> 
    </head> 
    <body> 

答えて

8

必要な2行が

ini_set('display_errors', 'On'); 
error_reporting(E_ALL); 

あることですあなたの開発環境用にphp.iniファイルにこれらを設定するほうがずっと良いです。これにより、プロダクション以外のコードがプロジェクトから削除され、構文エラーのような問題が解決され、ini_set()error_reporting()の呼び出しは実行されません(ありがとうCorbin)。

もう1つの方法としては、HTMLを開始する前にPHPコードを配置してください(スクリプトの一番上)。何かが出力バッファに追加される前に実行されるべきセッションを扱っているようです。

+2

デフォルトのdisplay_errorsがオフで、構文エラーがある場合、ini_setへの呼び出しは決して起こらないのでエラーは表示されません。 – Corbin

+0

何も表示されていません –

+0

私はそれもオフに設定できますか?たぶん、あなたは完全にエラーを隠すコードを表示することもできます。 – Michelle