我已将 Digitalocean LEMP 应用程序 dropplet 配置为托管我的网站(PHP - CodeIgniter 应用程序),我在我的应用程序中使用 Nexmo SMS API,直到今天一切正常。突然,现在当我尝试发送 SMS 时出现此错误“无法解析主机:rest.nexmo.com”。看起来 cURL 不起作用,但是当我检查它是否已安装时 - 它是,并且我的 phpinfo 也显示了它。我重新启动了 nginx、php5-fpm,在我的代码中尝试了一些不同的 curl 设置,但总是出现这个错误。
当我尝试运行这样的简单脚本时:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com/');
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'read_body');
curl_exec($ch);
if ($error = curl_error($ch)) {
echo "Error: $error<br />\n";
}
function read_header($ch, $string)
{
$length = strlen($string);
echo "Received $length bytes<br />\n";
return $length;
}
结果仍然是“错误:无法解析主机:www.google.com”所以我认为问题出在 cURL 而不是我的应用程序代码中(我正在使用 NEXMO CodeIgniter 库)。
我尝试了所有出现在我脑海中的东西,但现在我的想法已经不多了,所以每一个帮助都值得赞赏。是否有任何特殊设置/要做的事情来连接/使 cURL 与我缺少的 nginx 一起工作?也许在 nginx.conf 文件中,或者我需要打开一些端口等?