ошибка fsockopen

Главные вкладки

Аватар пользователя soft4you2 soft4you2 26 июля 2008 в 18:52

пытаюсь прикрутить скрипт whois-проверки к главной странице друпала.

прикручивал следующим образом - скрипт состоит из 3х php файлов. содержимое index.php скрипта скопировал и вставил (в редакторе) в страницу которая у меня является главной. поле запроса и выбора зон - ru, com - показывается. НО когда жмешь проверить то выдается такая вот ошибка:

# warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/e/public_html/v2/lib.php on line 72.
# warning: fsockopen() [function.fsockopen]: unable to connect to :43 in /home/e/public_html/v2/lib.php on line 72.

т.е. ошибка происходит в этой функции:

function perform_whois($domainname, $ext, $raw)
{
global $vars;
global $errormsg;
global $whois_servers;
global $rawoutput;
global $whois_avail_strings;

$rawoutput = "";

if($raw) { return do_raw($domainname, $ext); }

if(($ns = fsockopen($whois_servers[$ext], 43)) == false){
$errormsg = "Cannot connect to ".$whois_servers[$ext]."";
return -1;
}
fputs($ns, $domainname.".".$ext."\r\n");
while(!feof($ns)) { $rawoutput .= fgets($ns,128); }

fclose($ns);

$whois_avail_strings[$whois_servers[$ext]] = str_replace("\\n", "\n", $whois_avail_strings[$whois_servers[$ext]]);
// echo "\n";

$tmp = strpos($rawoutput, $whois_avail_strings[$whois_servers[$ext]]);
if(!strlen($rawoutput) || is_integer($tmp)) { return 1; }

return 0;
}

НО если заменить

if(($ns = fsockopen($whois_servers[$ext], 43)) == false){

НА

if(($ns = fsockopen('whois.ripn.net', 43)) == false){

то все работает.

данная ошибка происходит только под друпалом, т.е. если залить php скрипт в директорию друпала, и зайти просто на страницу скрипта например whois.php - то опять же все работает как надо. а стоит его встроить в друпал - почему то перестает.

помогите кто чем может плиз...

Комментарии

Аватар пользователя gorr gorr 26 июля 2008 в 19:00

unable to connect to <ТУТ ПУСТО ВЕДЬ>:43
$errormsg = "Cannot connect to ".$whois_servers[$ext].""; передавалось, значит нет $whois_servers[$ext], проверяйте, что передаете в этой переменной

Аватар пользователя soft4you2 soft4you2 27 июля 2008 в 2:35

парни, бьюсь уже фиг знает сколько, никак не получается прикрутить. знания в php чисто поверхностные...

gorr
в том то и дело, что не пойму почему пусто. ведь отдельно скрипт работает, а в друпале нет.

evova
мне требуется, чтобы можно было не просто делать хуиз, а вводить группу доменов и чекать для каждого статус.

прикрепил скрипт
люди, не дайте пропасть! посмотрите плиз почему ничего не работает. нужно чтобы сам скрипт был в странице и результат работы после нажатия кнопки GO выдавался в странице, т.е. внутри сайта, а не как отдельная чистая страница.
может быть кто-нибудь за небольшое вознаграждение сможет решить эту (я надеюсь) простую проблему? оплатил бы по WM или Я.Д.

...............

Аватар пользователя gorr gorr 28 июля 2008 в 15:31

Просмотрел приложенные файлы, думаю надо в файле config.php заменить:
<?php

// this a list of the whois extensions to use, edit them as you need them
$whois_exts = array(
"com",
"net",
"org",
"ru",
"info",
"biz",
"su"
);

?>
на:
<?php

// this a list of the whois extensions to use, edit them as you need them
global $whois_exts;
$whois_exts = array(
"com",
"net",
"org",
"ru",
"info",
"biz",
"su"
);

?>
и все пойдет.