Всем привет! Помогите пожалуйста разобраться в проблеме: Есть скрипт парсинга обратных ссылок через api megaindexа. Когда скармливаю в скрипт файл со списком из 10-20-30-40 урлов, скрипт обрабытывает данные и выдает мне через ajax результат, но как только кидаю ему на съедение список из 50+ урлов, ответа не приходит, хотя по логам megaindex вижу что обработка данных завершилась. Думаю что проблема с таймаутом, но с каким конкретно?? Обработчик: PHP: <?php $uploaddir = 'files'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { include_once 'megaindex.php'; $key = '*****'; // мой API ключ $mi = new MegaIndex($key); $file_array = file($uploadfile); // считывание файла в массив $file_array for($i = 0;$i < count($file_array); ++$i) { //цикл перебирает список полученых урлов из массива $param = array('domain' => $file_array[$i], 'count' => 1, 'link_per_domain' => 1); $array = $mi->get('backlinks', $param); for($a = 0;$a < (count($array) - 2); ++$a) { //цикл перебирает номер вложеного массива из списка полученых урлов в массиве echo $i.":".$array['data'][$a]['domain_from']."</br>"; } } } else { echo "Incorrect file\n"; } ?> Ajax у меня выглядит таким образом: Код (Javascript): $.ajaxSetup({ timeout: 60000000 //Время ожидания ответа от сервера в миллисекундах }); $.ajax({ type: "POST", processData: false, contentType: false, url: 'Urls.php', data: formData, beforeSend: funcBefore, success: funcSucces }); Увеличил через .htaccess вот эти два таймаута: Код (Text): php_value max_execution_time 100000 php_value default_socket_timeout 100000 Посмотрел через конструкцию Код (Text): <?php phpinfo(); ?> Настройка таймаутов подтягивается, но скрипт по прежнему не дает результат. HELP!
@servitpol, лучше, чем играться с таймаутами, подумай как можно считывать всё по кускам. Сейчас таймаут ты увеличишь, а потом захочешь 200+ ссылок закинуть, опять увеличивать будешь? Лучше аяксом давай номер позиции, с какой читать. Обработчик пусть принимает эти позиции и читает именно их. Допустим, первая итерация у тебя будет с первой позиции по десятую, вторая с десятой по двадцатую. И так пока не закончатся данные
@mr.akv хороший совет, спасибо! Я даже как-то не подумал соорудить такую конструкцию... --- Добавлено --- Ребята из поддержки хостинга увеличили у себя таймаут до 15 минут, мне хватит, а идея "считывать по кускам" мне понравилась, реализую...