0

localhost マシンとリモート マシンでイベントを発生させたいと考えています。イベントは、XML から SQL-DB へのインポートです。インポートには約 5 秒かかります。ここでの問題は、ローカル ホスト マシンではインポートが正常に実行されますが、リモート マシンでは実行されないことです。インポートがリモート マシン上のリモート マシンで実行された場合も、正常に実行されます。FF-Webdevoloper-tool では、ローカル マシンのイベントが約 5 秒、リモート マシンのイベントが 1 秒無駄になっていることがわかります。その結果、XML 全体が DB にインポートされたわけではありません。jquery ajax関数によるインポート手順の中断で発生する、インポートに多くの時間を浪費していると思います。これを解決する方法はありますか?

関数のコードは次のとおりです。

function Zurueck(){
// fired event on localhost
   $.ajax({
        url: "zurueck.php",
         data: {encoder : encoderID,  tabelle: Tabelle},
        datatype: "json",
   type: "POST",
        success: function(data) { 
 }
   });

// same fired event on remote machine
   $.ajax({
   // pfad zur PHP Datei (ab HTML Datei)
        url: "http://192.168.2.151/backend/zurueck.php",
         data: {encoder : encoderID,  tabelle: Tabelle},
         dataType: "json", 
   type: "POST",
        success: function(data) { 
 }
   });   
}

ローカルとリモートの手順のコードは次のとおりです。

<?php
$xml = simplexml_load_file('TEST.XML'); 
//.....
// do something, and so on 
?>
4

1 に答える 1

0

スクリプトがブラウザによってキャンセルされることが本当に問題である場合は、php 関数ignnore_user_abortを試すことができます。

ただし、インポートを停止するサーバー側に他の問題がないかどうかを確認する必要があると思います。メモリ不足などのエラーで静かに失敗するか、スクリプトに5秒しか与えないように構成されている可能性があります(奇妙で非標準ですが、発生する可能性があります-php.iniまたはphpinfo()の結果でmax_execution_timeを確認してください)。

于 2013-10-26T18:13:44.340 に答える