Проблема с отображением "вечного" перенаправления двух php скриптов между собой

Тема в разделе "PHP", создана пользователем sounde, 13 фев 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Привет всем!
    Незнаю правильно ли и понятно я назвал тему :)
    Но проблема вот в чем. Написал простой скриптик он при помощи
    header("Location: ".$url);
    exit;
    Делает редирект на другой мой php скрипт, а тот обратно на него снова и так по кругу, хотя сам процесс не бесконечный и рано или поздно остановиться, когда будет полностью обойден файл из которго читает первый скрипт.
    Так вот скрипт работает себе нормально, но файрФокс через некоторое время выдает ошибку:
    Неверное перенаправление на странице

    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

    * Эта проблема может возникать при отключении или запрещении принятия cookies.


    Хочется использовать для работы скрипта файрфокс, а не другой браузер. Может быть проблема в самом перенаправлении? Может его нужно подредактировать, чтобы ФФ не смог определить, что это цикл?
    Помогите пожалуйста советом.
     
  2. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    Ничего не получится, это встроенная в firefox функция.
     
    sounde нравится это.
  3. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Жаль :( пойду тестить в IE и опере, надеюсь там станет работать хотя бы.

    Блин протестил в IE, тоже самое, он пишет не возможно отобразить страницу через некоторое время.
    Хотя естественно скрипты работают, так как я их работу смотрю через другой скрипт, который работает с автообновлением и читает данные из файла, которые создают первые два скрипта.
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Циклическое гоняние файлов - не лучшая идея.
    Думай как от этого избавиться.
     
    sounde нравится это.
  5. $Ealex

    $Ealex Создатель

    Регистр.:
    29 июн 2008
    Сообщения:
    37
    Симпатии:
    2
    Попробуй использовать другую стратегию без header("Location: ".$url);.

    Редирект на .htaccess или кроном, на ajax обновление страниц
     
  6. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    За 30 сек. невыполнить все что задумал, да и за минуту или две тоже :(
    Может быть тогда думаю вставить скрипт в страницу у который в МЕТА прописать автообновление, а инфу о пройденных строках в файле писать в этот же файл например в конце и при следующем вызове скрипт будет устанавливать указатель уже на него и так далее, а количество проходов за один раз подобрать экспериментом.

    Или еще может сделать чтобы скрипт сам себе передавал позицию при помощи GET ?
    (правда если где-то на полпути тормознется, то заново придется запускать видимо :( )
     
    SonicsC нравится это.
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Фаерфокс можно подлечить от этого.
    в адресной строке набираешь about:config
    в фильтр вводишь network.http.redirection-limit и меняешь значение этой переменной на побольше.

    Это костыль, надо лечить твоё решение - оно неверное.
     
    sounde нравится это.
  8. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Спасибо! Думаю что действительно надо все сделать в одном файле, сама идея о том что крутяться два скрипта мне с самого начала не понравилась, но тогда еще не знал как избавиться от этого, т.е. как найти другое решение.

    Добавлено через 21 минуту
    Сделал вобщем через автообновление через МЕТА тег, удобство его оказалось в том, что автообновление срабатывает только если скрипт выполнен (я просто боялся, что страница будет обновлятся автоматом, даже если скрипт еще не отработал).
    Спасибо всем за советы :)
     
  9. SiMM

    SiMM Создатель

    Регистр.:
    8 фев 2009
    Сообщения:
    41
    Симпатии:
    6
    Значит Вы неправильно подошли к решению задачи - либо Вам надо оптимизировать алгоритм, либо не делать с помощью web то, для чего он не предназначен - запускайте процесс cron'ом, к примеру, а уж инициировать выполнение процесса и следить за степенью его исполнения уже можно и браузером.
     
  10. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Попробуй в начале скрипта прописать
    Т.е. скрипт будет работать бесконечно долго. Однако админы на серверах могли прикрыть эту возможность. :)
     
Статус темы:
Закрыта.