2017-04-03 16 views
0

私のサイトをphp5.5からphp7に切り替えたところ、非常に奇妙なバグがありました。リダイレクトを含む特定のAjaxリクエストを実行すると、サーバーはhttp: 、良いhtmlコンテンツを返す(私はクロームコンソールから見ることができる)。php7でajaxでエラー500が発生しました

私はphp5でまったく同じ要求をするとき、私はもうエラーはありません。私がphp7で全く同じリクエストをajaxのない新しいタブで行うと、私はもうエラーはありません。そして、見知らぬ人、いつか私のコードでvar_dumpを追加すると、私はもうエラーはありません。

私は500のエラーコードを持っていますが、私は何もログに記録されておらず、エラーはHTMLコンテンツには表示されません。ここで

はエラーwhithレスポンスヘッダーです:

HTTP/1.1 500 Internal Server Error 
Date: Mon, 03 Apr 2017 10:44:20 GMT 
Server: Apache 
Expires: Tue, 04 Apr 2017 10:44:20 GMT 
Accept-Ranges: bytes 
Set-Cookie: PHPSESSID=25e73849544a66f7512533246cde4d21; path=/ 
Last-Modified: Mon, 03 Apr 2017 10:44:20 GMT 
Content-Length: 11718 
Connection: close 
Content-Type: text/html; charset=utf-8 

エラーなし(私はのvar_dumpを追加した後):

HTTP/1.1 200 OK 
Date: Mon, 03 Apr 2017 10:45:44 GMT 
Server: Apache 
Vary: Accept-Encoding 
Content-Encoding: gzip 
Content-Length: 3223 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 
Content-Type: text/html; charset=UTF-8 

ヨーヨーが間違っている可能性が何の任意のアイデアを持っていますか?

+0

適切なログファイルを確認し、最初にエラーを記録するようにPHPを設定していることを確認してください。 – CBroe

+0

私は多くの警告を持っており、私が無視すると気付く(私はそれを無視するのを止めると私はそれを見ることができる)が、誤りはない。 は、ここに私のログの設定です:; ' ' set_exception_handler(); ' 'はset_error_handler(); ' ' debug_backtrace() 'のerror_reporting(E_ALL&〜E_NOTICE&〜E_STRICT&〜E_WARNING&〜E_DEPRECATED)。 ' ' ini_set( 'html_errors'、TRUE); ' ' ini_set( 'はdisplay_errors'、1); ' ' ini_set( 'display_startup_errors'、1); ' 編集:いけない上、より良いコードをフォーマットする方法を知っていますコメントはありません – Yrtiop

+0

あなたの問題に関連するコードを入れよう – hassan

答えて

0

私は、デフォルトで500のHTTPエラーが発生したヘッダーを起動したが、例外によってヘッダーが起動された後にスクリプトが強制終了されないというカスタム例外がコードのどこかにありました。それを見つけるのは非常に難しい:

public function __construct($message = "Critical error", $code = 500, Exception $previous = Null) { 
    parent::__construct($message, $code, $previous); 
    if($this->getHttpHeader()) 
     header($this->getHttpHeader()); 
    } 

    public function getHttpHeader() { 
    $header = get_header_for_code($this->getCode()); 
    $this->http_header = $header; 
    return $this->http_header; 
    } 

しかし、問題はのみPHP7にのみ、特定の条件にあった、なぜ私はまだ知らない、と私は見つけるための時間がありません。

関連する問題