3

この質問への答えはノーだと思いますが、私が理解しようとしている問題のリードはもうありません。

私は当初、SQLCMDを介していくつかのデータベースクエリを実行する単一のスクリプトを持っていました。ここで、AJAXを介してこのスクリプトを開始し、応答を待つことにしました。しかし、私は次の致命的なエラーを受け取ります:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 445 bytes) in C:\process_txt.php on line 109

スクリプトで変更した唯一の新しいことは、このajaxリクエストであり、正直なところ、この質問をした理由は他にありません。

JQuery AJAXリクエストを使用していますが、ポーリングを使用していないと思います。これが私が利用するAJAXGETリクエストの例です:

function process_txt(checkbox){

            waiting = 1;

            var folder_path = $('#folder_path').val();

            var file_name = $('#'+ checkbox + '_val').val();

            $.get("process_txt.php", { path:  folder_path, file: file_name},

            function(data){

                           alert(data);             

            });

}

私が抱えている問題ではなく、この問題に光を当てることができる人に感謝します。この質問だけです。:)

4

3 に答える 3

12

AJAXと通常の呼び出しでは、サーバーに違いはありません。PHPに関する限り、何も変更されません。クライアントからの開始方法に関係なく、リクエストは単なるリクエストです。

他の場所でメモリリークの原因を探します。特定のパラメータが指定されている場合、プロセッサが無限ループに陥る可能性がありますか?

于 2010-01-29T14:14:58.663 に答える
1

PHPメモリのコンテキストで:AJAXを使用することはAJAXを使用しないことと同じですが、AJAXを使用した結果、HTTP応答でユーザーに出力するデータが少なくなり、PHPが使用するメモリが少なくなります。

于 2010-01-29T14:15:48.203 に答える
0

いいえ。JSとブラウザのアドレスバーからのリクエストは同じです。ちょっと待ってください、JSON / XMLはHTMLよりもバイト数が少ないです!だからそれは良いです。

PHPコードを見てください-データベースクエリにいくつかのバグがあるかもしれません。

于 2010-01-29T14:17:03.347 に答える