2013-10-26 3 views
0

Я хотел бы запустить событие на машине localhost и на удаленной машине. Событие - это импорт из XML в SQL-DB. Импорт требует около 5 секунд. Теперь проблема заключается в том, что импорт хорошо работает на машине localhost, но не на удаленной машине. Если импорт был удален на удаленном компьютере на удаленном компьютере, он работает также хорошо. В средстве FF-Webdevoloper я вижу, что событие на локальном компьютере тратит около 5 секунд, а событие на удаленном компьютере тратит 1 секунду. Результатом является то, что не весь XML был импортирован в БД. Я предполагаю, что импорт тратится на много времени, что происходит при прерывании процедуры импорта функцией jquery ajax. Есть идеи, как это решить?jquery ajax - событие на удаленном компьютере прерывается через 1 секунду

Вот мой код функции:

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 
?> 

ответ

0

Если это действительно проблема сценария отменяется браузером, то вы можете попробовать ignnore_user_abort php.

Но я думаю, вы должны проверить, нет ли другой проблемы на стороне сервера, которая останавливает импорт. Возможно, он просто терпит неудачу при некоторой ошибке, например, вне памяти, или он настроен только на 5 секунд для скрипта (был бы странным, нестандартным, но может случиться - посмотрите max_execution_time в результате php.ini или phpinfo()).

+0

max_execution_time - 120 секунд, это не должно быть проблемой. На стороне сервера нет проблем. Скрипт работает хорошо, если он выполняется без вызова jquery axaj. Я попробую игнорировать php. – Mazl

+0

большое спасибо. Кажется, что решение ignore_user_abort является решением. – Mazl