-5

localnet の Web サイトに codeigniter を使用しています。次のようなビューでメソッドを呼び出しています。

$.ajax({
    url: "<?php  
        if(ENABLEACTIVEDIRECTORYMODE == true)                                      
            echo site_url('login/loginController/loginControlWithActiveDirectory');
        else
            echo site_url('login/loginController/loginControl');
    ?>",
    type: 'POST',
    data: data,
    success: function(data1){   
        $("body").innerHTML("<h1>BOBAA</h1>");
        // To get rid of whitespaces etc.
        var reply = data1.replace(/\s+/, "");
        if( reply.toString() == 'OK' ){ 
           window.location.href = <?php echo json_encode(site_url()); ?> + '/operation/operationController';                           
        }else if( reply.toString() == 'FAIL' ){                           
            alert("Kullanıcı adı ve/veya parola yanlış girilmiştir.Lütfen tekrar deneyiniz.");
        }  
    }
});

firebug から確認する限り、内部 500 エラーが発生しています。ボタンをクリックして、この ajax リクエストを行います。それでも、内部 500 エラーが発生します。何も変わりません。ページは静止しています。Apache ログ ファイルにエラーのログは記録されません。そして、php.iniのすべての設定が正しいにもかかわらず、phpは単純にログに記録しません(以前にその問題を解決するために1日を費やしたので、これについて確信があります)。

私のindex.phpでは、次の行が設定されています。

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

だから私はかなり混乱しています.codeigniterのために何も記録されていないのではないかと疑っています. 内部 500 が php ファイルから来ているかどうかさえわかりません。しかし、ボタンをクリックするだけでは何もできません。

全体として、いくつかのエラーを確認したいと思います。しかし、なぜできないのか、それが問題です。

4

2 に答える 2

1

500 エラーはサーバー側のエラーであり、おそらく .htaccess ファイルに問題があります。サーバーログを見て、それらが何を言っているかを確認してください。また、ページを直接ロードして、有用な情報が出力されるかどうかを確認しますが、PHP が呼び出される前にエラーが発生したり、コンパイラがどこかで構文をバーフィングしたりすると、codeigniter はログに記録されません。

于 2013-05-24T14:43:53.467 に答える
0

http://ellislab.com/codeigniter/user-guide/general/errors.html

また、正しいログ ファイルでエラーをチェックしていますか? php.ini にエラー用のフォルダを設定しましたか? apache config に設定されたエラー用の別のファイルがありませんか?

https://stackoverflow.com/a/3277783/183254
https://stackoverflow.com/a/13729932/183254
https://stackoverflow.com/a/9429681/183254

@Michael Sole.htaccessは、おそらく; に関して正しい軌道に乗っています。

*nix を使用している場合はgrep、ログ フォルダーを使用して、Apache がログを記録している場所の兆候を探すことができます。

grep -Rn "loginController" /var/log

http://www.gnu.org/software/grep/manual/grep.html

于 2013-05-24T14:53:19.330 に答える