我正在尝试使用AlchemyAPI的php sdk。我正在运行他们的 Github 页面上给出的相同示例。但是当我尝试运行该示例时,我收到此错误消息-
Warning: fclose() expects parameter 1 to be resource, boolean given in C:wampwwwtwitter-analysisalchemyapi.php on line 261
可能是什么原因?在炼金术.php中,这是警告发生的地方——
private function analyze($url, $params) {
//Insert the base URL
$url = $this->_BASE_URL . $url;
//Add the API Key and set the output mode to JSON
$url = $url . '?apikey=' . $this->_api_key . '&outputMode=json';
//Add the remaining parameters
foreach($params as $key => $value) {
$url = $url . '&' . $key . '=' . $value;
}
//Create the HTTP header
$header = array('http' => array('method' => 'POST', 'Content-type'=> 'application/x-www-form-urlencoded'));
//Fire off the HTTP Request
try {
$fp = @fopen($url, 'rb',false, stream_context_create($header));
$response = @stream_get_contents($fp);
fclose($fp);
return json_decode($response, true);
} catch (Exception $e) {
return array('status'=>'ERROR', 'statusInfo'=>'Network error');
}
}
}
fopen() 如果成功,则返回资源,如果不起作用,则返回 false。fopen 不起作用的最可能情况是路径无效或您无权访问资源。
这里提出了一个类似的问题:https://stackoverflow.com/questions/18636680/php-warning-fclose-expects-parameter-1-to-be-resource-boolean-given
尝试在实时服务器上进行测试。我的经验是在实时服务器中工作的本地服务器中出错。