PHP 错误 fsockopen()

PHP 错误 fsockopen()

当我们访问我们的网站创建帐户或从我们网站上现有的帐户发送电子邮件时,我们收到以下错误。

**PHP Error**

**Description**

fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known

**Source File**

/var/www/html/protected/components/Email.php(1690)

01678:      * @param    string
01679:      * @return    string
01680:      */
01681:     protected function _smtp_connect()
01682:     {
01683:         $ssl = NULL;
01684:         if ($this->smtp_crypto == 'ssl')
01685:             $ssl = 'ssl://';
01686:         $this->_smtp_connect = fsockopen($ssl.$this->smtp_host,
01687:                                         $this->smtp_port,
01688:                                         $errno,
01689:                                         $errstr,
01690:                                         $this->smtp_timeout);
01691: 
01692:         if ( ! is_resource($this->_smtp_connect))
01693:         {
01694:             $this->_set_error_message('lang:email_smtp_error', $errno." ".$errstr);
01695:             return FALSE;
01696:         }
01697: 
01698:         $this->_set_error_message($this->_get_smtp_data());
01699: 
01700:         if ($this->smtp_crypto == 'tls')
01701:         {
01702:             $this->_send_command('hello');

以前,我们在网站上发送电子邮件或创建新帐户时从未遇到过任何 PHP 错误。

有人能建议我们该怎么做才能避免这种情况吗?

答案1

这很可能是 DNS 解析错误。要么是您的服务器没有名称服务器,要么是它使用的名称服务器太慢且超时,要么是它们无法将您的 SMTP 服务器的主机名解析为地址。从那里开始查找,因为这就是 的含义getaddrinfo failed: Name or service not known

相关内容