alchemyAPI for php无法正常工作

时间:2013-10-21 09:27:45

标签: php alchemyapi

我正在尝试使用AlchemyAPI的php sdk。我正在运行Github page上给出的相同示例。 但是当我尝试运行该示例时,我收到此错误消息 -

 Warning: fclose() expects parameter 1 to be resource, boolean given in C:\wamp\www\twitter-analysis\alchemyapi.php on line 261

可能是什么原因?在alchemyapi.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');
        }
    }
}

2 个答案:

答案 0 :(得分:0)

fopen()如果成功则返回资源,如果不起作用则返回false。 fopen不工作的最可能的情况是路径无效或者您无法访问资源。

此处提出了类似的问题:https://stackoverflow.com/questions/18636680/php-warning-fclose-expects-parameter-1-to-be-resource-boolean-given

答案 1 :(得分:0)

尝试在实时服务器上进行测试。 我的经验是它在本地服务器中出现错误,在实时服务器中工作。