Forum Webscript.Ru

Программирование => PHP => Тема начата: semya от 03 Мая 2003, 14:05:32

Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: semya от 03 Мая 2003, 14:05:32
целый день уже бьюсь над этой проблемой и не знаю как ее полечить. Проблема обнаружилась только на сервере (linux, php 4.2.3, apache 1.3.27) провайдера... локально (win xp, php 4.3.1, apache 1.3.1) все работает отлично.
В-общем:

при проверке на существование удаленного файла таким способом:
fopen("http://www.my.ru/anyfile.php","r")

из скрипта который лежит на этом же сервере происходит жесткое зацикливание и через таймаут минут в 5 прокси возвращает zero sized reply, что типа нету вообще ответа от сервера... то же самое при попытке открыть несуществующий файл на этом сервере происходит. при коннекте через fopen() к любому другому серверу - все проходит отлично, никаких зацикливаний и таймаутов...

allow_url_fopen = 1

подскажите что делать? какие могут варианты? спасибо
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: semya от 03 Мая 2003, 15:44:10
выяснилось, что при коннекте через сокеты [спасибо ответу Макса, хотя он очень быстро исчез :(] (чтобы получить текст ошибки) с другого сервака к этому (глючащему) приходит ответ 200 ОК. а при коннекте тем же скриптом (fsockopen()) с самого этого сайта на него же.... таймаут... очевидно проблема в сервере... но в чем????
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: Макс от 04 Мая 2003, 11:53:21
Цитировать
спасибо ответу Макса, хотя он очень быстро исчез
[off]да я потом понял что бред написал (ну разве что кроме фразы про fsockopen) и удалил его[/off]
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: semya от 04 Мая 2003, 12:40:17
в любом случае спасибо, потому что именно fsockopen() дал возможность увидеть ответ с ошибкой от сервера, но проблема так и осталась нерешенной, сервак почему-то сам на себя не дает открывать файлы с помощью fopen() через http://... и все что смогли посоветовать на support-е это обращаться к файлу локально, а мне то надо именно извне...
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: FreeSpace от 04 Мая 2003, 13:07:04
semya
А можно поинтересоваться, зачем именно через http://?
Просто может найдем альтернативное решение...
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: semya от 05 Мая 2003, 09:56:07
FreeSpace
возможно, но так написан у меня скрипт индексации сайта для поиска... есть таблица в бд со всей инфой по страницам сайта, со всеми правами доступа, с установками, опциями, и т.д. и т.п. оттуда берется инфа подлежит ли данная страница индексации или нет и если подлежит, то вследствие того, что все страницы с кучей инклудов и скриптов, то наиболее оптимально мне кажется запросить эту страницу через http:// чтобы 1) получить истинное содержимое страницы, то что видит юзер 2) получить наиболее свежее содержимое страниц... вот так...
я просто не могу понять, почему этот же сайт на другом сервере хостера работет а на этом нет... пожалуйста только не надо советовать побить хостера, перевести сайт на другой хостинг... и т.п. я с этим хостингом работаю уже не первый год, но вот такая проблема встала впервые...
да и еще: file(\'http://www.this_my_site.com\') - тоже зацикливается и возвращает zero sized reply... :(
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: FreeSpace от 05 Мая 2003, 20:28:40
Думаю, многие профи бы сказали, что это не самый лучший способ индексации, но так как я не профи... :)
По делу: это зависит совсем не от твоих скриптов, а скорее от настроек апача/пхп/прокси. Тут поможет только задушевный разговор с админом.
Кстати, ты когда коннектишься через свой скрипт, ты пишешь именно file(\'http://www.this_my_site.com\') или file(\'http://localhost/\')?
Как бы ты не писал, попробуй наоборот.
Как альтернативу, могу предложить переписать систему индексации (знаю, что долго, но что поделаешь?) и работать через ob_start/ob_get_contents/ob_end_clean...
Название: fopen("http://www.my.ru/index.php") c www.my.ru???
Отправлено: semya от 06 Мая 2003, 12:54:59
FreeSpace
ок, попробую спасибо...