2016-05-10 4 views
3

これはWordPressが変更した最新のものかどうかわかりませんが、通常、ajax呼び出しのアクションとして使用されている関数を記述していたときフロントエンドで)、コードにエラーがある場合(;がないか、または未開封の}など)、Chromeのインスペクタの[ネットワーク]タブで返されたAjax呼び出しが返され、admin-ajax.phpを選択してPreviewまたはResponseタブをクリックすると、エラーコードが書き出されます。コードのエラーによりadmin-ajax.phpが500エラー

私のコードでエラーが発生したとき(コールバック関数で未定義の関数を使用した)、インスペクタで取得したすべてが.jsスクリプトの$.ajax()コードを指す500のエラーでしたが、この

enter image description here

何もありません。私はこれがサーバーの問題であると確信して、私のホストにメールを送って、それについて質問しました。彼らはそれが何であったかも知らなかった。最後に、私は私が私が私のコールバック関数の中でいくつかのエラーを持っていた見た

ini_set('log_errors',TRUE); 
ini_set('error_reporting', E_ALL); 
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); 

、そこに私のエラーメッセージを書くことができることが分かりました。いったん私はそれを修正し、コードが働いた。

実際には、私のResponseタブ(またはPreview)にエラーが表示されます。私はそれを見て、それを修正し、それは働いた。

一部のサーバーでは、上記の方法でerror_log.txtに書き込むのにしばらく時間がかかるため、これを尋ねます。私はCentOS上にあるクライアントサーバーで作業していますが、エラーログは自分のwpルートフォルダに表示される可能性があります。

ajaxに関するコアファイルで何か変更されましたか?

答えて

0

これはWordpressのコアファイルとは何の関係もなく、何も変更されていません。

500エラーは、デフォルトでブラウザにエラーを表示しません。これは、WordPressのインストールではなく、Webサーバーの設定に基づいています。

500エラーは、通常、通常

/var/log/apache/error.log

または

に位置して、Webサーバーのログファイルに記録されています

/var/log/nginx/error.log

これらのファイルエラーが発生したときに直ちにサーバー上のエラーを反映する必要があります。これはあなたにそれが起こるときだけファイルに書き込まれているもののライブフィードを与える

tail -f /var/log/apache/error.log 

:あなたはあなたのサーバーへのシェル/ ssh接続を持っているのであれば、次のようなコマンドを使用することができます。

INI_SETは、PHPのデフォルト値を設定するPHPコマンドです。これらを手動で設定したくない場合は、サーバ上のPHP.iniファイルをこれらの変数で更新することができ、サーバ上のすべてのサイトでデフォルトになります。wordpressのサイト上での開発では、あなたはWP-config.phpをを更新することができますし、trueにWP_DEBUGを設定する。また

、:

define('WP_DEBUG', true); 
+0

ええ、私はすべてのことを知って、そしてデバッグが有効になっているが、それはです奇妙なことに、ajaxエラーは500(内部サーバー)エラーであり、コードのエラーではありません(これは実際の原因です) –