![]() |
![]() |
Хлам 24.03.2004 - 15:22 |
Вот такая вот проблемка. Программирую на пхп, скриптик, после нескольких раз вызова оного перестают браузеры реагировать (IE вообще виснуть начинает) даже на локалхост, не говоря уже о более удаленных серверах, хотя всё вроде как пингуется. Согласен, вопроса более деревянного редко встретишь, но все-таки, здесь же присутствуют гуру своего дела, глядишь, есть какая тонкость...Единственное, чем специфичен данный скрипт, это функцией file() считывается довольно большой (где-то 2.5 мб) файл...Ну может еще вложенность инклудов, в остальном вроде как ничего криминального. ЗЫ: перезагрузка от всего этого спасает. Немного о себе: Windows XP, Apache 2.0.44, PHP 4.3.0 |
buster 1 - 24.03.2004 - 15:42 | ДЛя браузера, в принципе, важно не то, что скрипт откуда-то считывает. Более критично для него то, что скрипт ему отдаёт. Если ты эти же 2.5М отдаёшь браузеру, то, возможно, просто процесс занимает гораздо больше времени, чем у тебя - терпения :о)) |
Zeratul 2 - 24.03.2004 - 16:42 |
to Хлам: у меня целерон 1000 2.5 мега считывает где-то секунд за 20. Вопрос вот какой - ты все эти мегабайты отдаешь построчно браузеру? Если да, то ты можешь поиметь зависание. Расскажи что в скрипте делается? |
buster 3 - 24.03.2004 - 17:17 | Интересно, а за сколько же 2.5 мега будет считывать мой целерон на 2000? :о))) |
Cool 4 - 24.03.2004 - 17:33 | to Хлам: была и есть такая же фигня. Я писал тоже скрипт, для считывания больших файлов из инета. Комп вообще переставал реагировать на сеть после какой-нибудь ошибки в скрипте. Даже варнинг, типа возвращенный mysql результат пуст вызывал подвисание.. спасал только ребут |
buster 5 - 24.03.2004 - 17:46 |
Нас ребут, а мы крепчаем :о)) Ребяты, пока просто слова. Что конкретно делает скрипт? |
Jup 6 - 24.03.2004 - 17:54 | Если скрипт выводит все это в таблицу, то браузер просто вешается в ожидании пока формирование таблицы будет закончено. |
Mips 7 - 24.03.2004 - 18:05 | это вы чё то не так наскриптили. |
Mips 8 - 24.03.2004 - 18:08 |
на счёт таблицы.... пока таблица не будет полностью загружена - ничего вы не увидите. По крайней мере так в ИЕ. С другой стороны... кому нафиг нужна таблица, которая весит сотни кб? |
наркоМан 9 - 25.03.2004 - 08:00 |
у меня браузер подвисал когда в текстареа выводил много строк... точнее сказать тормозил, т.к. через некоторое время всё ок становилось... код в студию!!! |
Хлам 10 - 25.03.2004 - 08:16 | Да не отдаются браузеру эти 2.5 мега. Просто файл этот парсится определенным образом, а в браузер вываливается, ну в худшем случае килобайт 15-20, не более того. Дурость, конечно, основательная, но ощущение, что какие-то не лады с памятью. Т.е. считываю в переменную этот файл, а после работы скрипта, эта переменная не совсем корректно освобождается. Правда вставил и вручную уничтожение - нифига не решило. Что думаете по этому поводу? |
Mips 11 - 25.03.2004 - 08:50 | ты случаем используешь не функцию ли ereg? |
Хлам 12 - 25.03.2004 - 08:58 | Нет. Дело не в том, что скрипт долго выполняется и я не могу дождаться окончания его работы. Дело в том, что после нескольких его вызовов, ощущение, что что-то занято (не знаю, порт может какой, может какая компонента, библиотека) и не освобождается. Пусть даже мой скрипт долго выполняется, но это ж не должно мешать новой копии браузера открывать другие страницы, исключим на всякий случай локальные, например, кубань.ру. Так ведь? |
Mips 13 - 25.03.2004 - 09:17 | Телепатией я не обладаю. Тут ужно видеть код, чтобы о чём-то можно было судить. |
Хлам 14 - 25.03.2004 - 09:35 | Ладно, в принципе вопрос снимается. Я знал, конечно, что практически бесполезно с таким пространным вопросом, но надеялся, может даже на чудо. У кореша, на его машине, в принципе все нормал, наверно, дело в апаче, все-таки, много слышал, что второй апач еще не доработан. А может в самой оси, но вообщем так и не разобрался |
Zeratul 15 - 25.03.2004 - 10:17 |
В самом Апаче 2 английским по белому написано о нежелательности его использования в качестве веб-сервера. Дальше. У тебя там всякие set_time_limit стоят в PHP? Вывод в браузер происходит в ходе работы скрипта или по его завершении? Ощущение подвисания происходит если у тебя данные на экран валятся только после выполнения. flush() ставил? |
Mips 16 - 25.03.2004 - 10:23 | вирусы погоняй. Там их поди целый букет :) |