![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| EugenyPavlenko |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Здравствуйте,
Все что мне нужно, это загрузить содержание сайта в массив по строчкам. Делаю так:
Проблема в том, что скрипт грузится, отрабатывает ровно 15 секунд и только тогда что-то выдает... Я пробовал грузить сайты большого содержание (40000 символов) и совсем маленькие: 129 символов... Те что маленькие и среднии они грузились 15 секунд и выводились А те которые побольше - занимало 15-20 секунди вывод... Я не могу понять в чем дело: почему он ждет 15 секунд и потом начинает что-то делать? или почему он тормозит? чего он ждет? Я планировал что он просто загрузит и сразу выведет.. т.е скорость работы зависит от размера загружаемого сайта... но грузить файл 129 байт 15 секунд.... Если предположить, что там лимит на выполнение скрипта 15 секунд, то зачем он все это время что-то там делает? Пробовал установить лимит 2 секунды но мне выдалась ошибка что я не могу это сделать из-за какого-то safe_mode Так же я пробовал действовать через сокеты:
Выдает вот что:
23 строчка это там где сокет открывается.... Не подскажете как мне решить проблему 15-ти секунд и что там за недоразумение с сокетом? Заранее спасибо! |
||||||
|
|||||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
1. размер загружаемого сайта
2. время тратится на соединение твоего сайта с чужим, и только затем отдается информация тебе. Т.е. еще скорость соединения. 3. Что у тебя содержится в $p? Порт, вообще-то, задается вот так - http://www.mysite.com:8080/123.html или http://www.mysite.com:21/123.html В зависимости от того, на какой ты подключаешься. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| EugenyPavlenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Fortop,
так что, он так долго соединяется с сервером? в $p у меня название хоста как в цитате... Менял на: www.mysite.com - ошибка пропала, НО грузится он теперь 25 секунд и в ответ всегда выдает:
Это сообщение отредактировал(а) Dzuchara - 10.4.2008, 08:40 |
|||
|
||||
| MoLeX |
|
||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Dzuchara, я уже в какойто теме вылаживал скрипт основоный на сокетах, поищи... (да и не я один вылаживал), время загрузки там не как 15 и 25... гораздно меньше...
вот ответ почему так долго происходит Добавлено через 5 минут и 42 секунды во, еле как нашел
может и не пригодиться) -------------------- Amazing |
||||
|
|||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
сходи сюда почитай по то, как устанавливать таймаут при соединении и чтении из сокетов. http://ua2.php.net/manual/ru/function.fsockopen.php -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Dzuchara, забудь про сокеты и исспользуй CURL http://ru2.php.net/manual/ru/function.curl-setopt.php
|
|||
|
||||
| EugenyPavlenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
MoLeX,
твой скрипт грузит точно 20 сек. и ВЫВОДИТ! (сокеты заработали!) Fortop, никакой тайм-аут не помогает... Добавлено через 12 минут capitan,
ровно 15 секунд работает и выводит... Меня смущает что РОВНО 15, не 12 и 13 и не 17, а всегда ровно 15.. странно... |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
Dzuchara, а если вариант с cUrl-ом попробовать:
http://forum.vingrad.ru/forum/topic-163191...-fsockopen.html -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
У сокетов есть 2ва вида таймаута. 1. Таймаут на коннект 2. на чтение запись потока http://ua2.php.net/manual/ru/function.stream-set-timeout.php 3. Насчет 15 секунд Попробуй прочесть с другого сайта, например www.google.com И посмотри на результат. И вообще, в чем конкретно у тебя задача? Зачем тебе читать страницу в массив? -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| EugenyPavlenko |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Всем большое спасибо!
Вы не поверите, но сейчас запускаю те же скрипты, но работают уже как надо - практически моментом... не пойму в чем дело. Наверное хостер что-то исправил.... Кстати на google.com наверное какая-то блокировка, потому что пишет вот что:
Использую этот код:
Fortop,
А зачем мне читать страницу просто так? Моя задача: предоставление одного сервиса... НО: Для клиента_моего_клиента, когда он заходит на сайт моего_клиента, все должно выглядеть так, как будто сервис работает с сайта_клиента... т.е все содержание сайта_клиента должно оставаться + выводится мой сервис... По-этому когда к_м_к заходит на сайт м_к и жмет что-то на подобие "сабмит" идет запрос мой сайт, который берет содержание страницы откуда пришел к_м_к, обрабатывает его (вставляет в нужное место нужный код) и выводит... К_м_к кажется, что он остался на сайте м_к, но в УРЛ прописан уже мой сайт (недостаток). Я хотел делать через Ифрейм - но он глючит. Еще можно делать простым попАпом, но попапы не все любят, не всем подходят.. Еще хотел делать Аяксом, но оказывается политика безопасности не позволяет грузить содержимое др. сайтов... А у этого варианта (при умелой реализации) только недостаток только то что в УРЛ будет уже мой прописан... Anyway, всем огромное спасибо! П.С: я все-таки надеюсь, что это мой хостер исправил, а не "само" исправилось. |
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |