[vine-users:080432] php_network_getaddresses: getaddrinfo failed:の解決方法は?

Chyuns Yun c-yun @ js5.so-net.ne.jp
2010年 7月 1日 (木) 23:38:35 JST


尹@長崎です

php5で出るエラーについて解決方法を教えてください

php5でxml-rpcを使ってブログ(blog.fc2.com)に投稿するスクリプトですが、下記のエラーが出てしまいます
php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

スクリプトはネットで公開されているものを多少改変してローカルで動かしています。
apache-phpでwebページとしてfirefoxからアクセスした場合、投稿先をドメイン名で指定するとエラーが出ますが、IPアドレスで指定すると正しく動作します。
コマンドラインから php ./hogehoge.php で動かした場合はドメイン名、IPアドレスどちらでも正しく動作します。

vineのバージョンは5.1/i386
ノートパソコンで職場と自宅でNetworkManagerを利用してIPアドレスを切り替えて使用しています。
メールの送受信やホームページの閲覧はできています。
コマンドラインからはblog.fc2.comの正引きはできます。
ローカルではbindは稼動しておらず、nameserverは192.168.0.1のルーターになっています。
phpのallow_url_fopenはon

apacheやphp5の設定は特にいじっていません。

IPアドレスで指定すればいいのかもしれませんが、できればドメイン名で動かしたいのでエラーを解決するいい方法はないでしょうか?
ネットで調べても、いろいろな人が困っているようですがハッキリとして解決方法は見つけられませんでした。

以下使用しているスクリプト
<?php
//phpinfo();
require_once("XML/RPC.php"); //XML-RPC package
$GLOBALS['XML_RPC_defencoding'] = "UTF-8";

//FC2用定義情報
$fc2_blogid = "0";
$fc2_host = "blog.fc2.com"; //ドメイン名
//$fc2_host = "208.71.106.100"; //IPアドレス

$fc2_xmlrpc_path = "/xmlrpc.php";
// //////////////////////////////
// 変更箇所
// //////////////////////////////
//ブログのログインID(メールアドレス)を記入
$fc2_user = "mail @ address.xxx";
//ブログのログインパスワードを記入
$fc2_passwd = "hogehoge";
//記事情報
//投稿モード(0:下書記事、1:公開記事)
$kiji_mode = 1;
//記事のタイトル
$kiji_title = "hello";
//記事の本文
$kiji_honbun = "hellow!! good morning";
// //////////////////////////////
//以下固定
$bm = new BlogManager();
$bm->post_blog($kiji_mode,$kiji_title,$kiji_honbun);

class BlogManager {
function post_blog($kiji_mode,$kiji_title,$kiji_honbun){
global $fc2_xmlrpc_path,$fc2_host,$fc2_user,$fc2_passwd,$fc2_blogid;
//クライアントの作成
echo "クライアント作成<br>";
$c = new XML_RPC_client( $fc2_xmlrpc_path, $fc2_host, 80 );

//送信データ
$blogid = new XML_RPC_Value($fc2_blogid, 'string');
$username = new XML_RPC_Value($fc2_user, 'string');
$passwd = new XML_RPC_Value($fc2_passwd, 'string');
print("username:<br>");print_r($username); print("<br><br>"); //debug
print("passwd:<br>");print_r($passwd); print("<br><br>"); //debug
$content = new XML_RPC_Value(array('title' => new XML_RPC_Value($kiji_title, 'string'),
				'description'=> new XML_RPC_Value($kiji_honbun, 'string'),
				'dateCreated'=> new XML_RPC_Value(date("Ymd\TH:i:s",time()), 'dateTime.iso8601')), 'struct');
$publish = new XML_RPC_Value($kiji_mode, 'boolean');
//XML-RPCメソッドのセット
$message = new XML_RPC_Message('metaWeblog.newPost',array($blogid, $username, $passwd, $content, $publish) );
print("message:<br>");print_r($message); print("<br><br>"); //debug
$this->send_message($c,$message);

}

function send_message($c,$message){
//メッセージ送信
echo "メッセージ送信<br>";
$result = $c->send($message); //<--ここがうまく動いていない

if( !$result ){
	   print($c->errstr);print("<br>");//debug
        print("cliant:<br>");print_r($c); print("<br><br>");//debug
        print("message:<br>");print_r($message); print("<br><br>"); //debug
        print("result:<br>");print_r($result); print("<br><br>"); //debug
exit('Could not connect to the server.');
}else if( $result ->faultCode() ){
exit('XML-RPC fault ('.$result ->faultCode().'): '
.$result ->faultString());
}

return $result ;
}
}
?>

__
尹 忠秀
c-yun @ js5.so-net.ne.jp
http://www.kids-clinic.jp/uni/


vine-users メーリングリストの案内