在Zend框架中调用inet_pton()的问题

时间:2009-05-23 10:46:26

标签: php api zend-framework youtube

我在使用Zend框架时遇到了问题(对于YouTube数据API)。我创建了非常简单的PHP脚本,用于使用这个API上传YT视频,它几乎无处不在 - 我在3台不同的机器(Linux和WinXP)上尝试过。但在将它安装到第4台机器后,我收到了这个错误:

Error:  inet_pton() [function.inet-pton]: Unrecognized address www.google.com    
Error type/ Nr.:    Warning - 2  
File:   /Zend/Validate/Ip.php    
Line:   62   
Line 62 source:  } else if ((@inet_pton($value) === false) ||(inet_ntop(@inet_pton($value)) !== $valueString)) {

我很确定它必定是一些配置缺陷,但是有什么问题? (PHP脚本在所有实例上都完全相似)

1 个答案:

答案 0 :(得分:1)

在第62行和第65行之间修改/library/Zend/Validate/Ip.php,如:

} else if ((@inet_pton(gethostbyname($value)) === false) 
|| (inet_ntop(@inet_pton(gethostbyname($value))) !== $valueString)) {
        $this->_error();
        return false;
    }

$ value必须是IP地址而不是主机名。