0

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

 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');
        }
    }
}
4

2 回答 2

0

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

于 2014-07-21T06:58:46.007 回答
0

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

这里问了一个类似的问题:https ://stackoverflow.com/questions/18636680/php-warning-fclose-expects-parameter-1-to-be-resource-boolean-given

于 2013-10-21T23:29:33.667 回答