|
|
|
| Мне необходимо использовать сокеты для работы с whois сервисом, но на сервере библиотека php_sockets.dll не установлена. Возможно ли подключить эту библиотечку динамически? | |
|
|
|
|
|
|
|
для: Igorek
(17.09.2004 в 20:30)
| | Хм, думаю, что нет..
Но про сокеты - это нужно cheopsa дождаться. Чего-нибудь да скажет. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(17.09.2004 в 20:42)
| | Будем ждать... | |
|
|
|
|
|
|
|
для: Igorek
(17.09.2004 в 20:30)
| | Можно попробовать загрузить расширение при помощи функции dl:
<?php
dl("php_sockets.dll"); // Под UNIX динамические библиотеки имеют расширение *.so
?>
|
Но 1) на серверах не подключенные расширения обычно не валяются и 2) использование функции dl обычно запрещено.
PS Вообще ситуация не нормальная, сокеты это важная часть сетевой среды, странно, что они отключены, может написать письмо админам? | |
|
|
|
|
|
|
|
для: cheops
(17.09.2004 в 22:03)
| | >PS Вообще ситуация не нормальная, сокеты это важная часть
>сетевой среды, странно, что они отключены, может написать
>письмо админам?
Так... извиняюсь, но похоже проблема в другом. Взял пример кода(где-то скачал не помню):
<?php
$ip = "some_ip";
if ($ip!="")
{
$sock = fsockopen ("whois.ripe.net",43,$errno,$errstr);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
else
{
fputs ($sock, $ip."\r\n");
while (!feof($sock))
{
echo (str_replace(":",": ",
fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
?>
|
Так вот: в принципе код рабочий, но на сервере в инете, при попытке его выполнения генерируется ошибка Operation timed out. Как я понимаю это значит, что допустимое время попытки создания соединения вышло, но я не понимаю почему? Если объясните буду весьма признателен. | |
|
|
|
|
|
|
|
для: Igorek
(17.09.2004 в 22:29)
| | Пару месяцев назад был разговор на нашем внутреннем форуме - я тогда вникать не стал: толи поменялись условия предоставления услуги на whois.ripe.net, то ли поменялся порядок доступа - в общем с сервера достучаться до него не могли, а с локального хоста - пожалуйста... | |
|
|
|
|
|
|
|
для: cheops
(17.09.2004 в 22:47)
| | А я где-то слышал, что есть такая вещь как исходящий траффик и, что если он запрещен, то никакие подобные вещи не пройдут, потому что обычная функция для получения содержимого удаленной страницы вроде этой:
file("http://www.ya.ru", "r")
|
возвращает ту же ошибку.
Так это правда или проблема в другом? | |
|
|
|
|
|
|
|
для: Igorek
(17.09.2004 в 23:07)
| | Такое дело есть... но все остальные Web-приложения использующие сокеты у нас работают. Пару минут назад созванивался с Кузнецовым М.В. - он в своё время с ним возился, сказал, что обязательно вам ответит, как доберётся до форума. | |
|
|
|
|
|
|
|
для: Igorek
(17.09.2004 в 23:07)
| | Тут, скорее всего, две вещи могут быть.
1. Действительно, хостер мог запретить работу с сокетами со своих серверов. Такое бывает, мы тоже с таким сталкивались.
2. Бывает, что скрипту просто не хватает времени для отработки. При работе с сокетами или со скриптами, в которых происходит обращение к другим сайтам, время отработки скрипта может быть немалым. | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(17.09.2004 в 23:19)
| | А чего вы там говорили, что на whois чего-то поменялось? Не подтвердилось? | |
|
|
|
|
|
|
|
для: cheops
(17.09.2004 в 23:54)
| | Это, если мне память не изменяет, мы про другой их сервис говорили. Да, там было дело, менялся урл, по которому надо обращаться. Но с этим (whois.ripe.net) вроде все также. Если бы там чего-то такое поменялось, на локалке и у ряда других хост-провайдеров, у которых разработанные нами сайты хостятся, он бы тоже не работал. | |
|
|
|