在PHP中缓存JSON请求-缓存文件错误

在PHP中缓存JSON请求-缓存文件错误,php,json,caching,Php,Json,Caching,我使用weatherunderground.com获取天气数据,但我总是达到API调用限制,因此我考虑每60分钟缓存一次json响应 这是我的简单php脚本 <?php $json_string = file_get_contents("http://api.wunderground.com/api/apikey/conditions/forecast/lang:IT/q/CITY1.json"); $parsed_json = json_decode($json_string); $c

我使用weatherunderground.com获取天气数据,但我总是达到API调用限制,因此我考虑每60分钟缓存一次json响应

这是我的简单php脚本

<?php
$json_string = file_get_contents("http://api.wunderground.com/api/apikey/conditions/forecast/lang:IT/q/CITY1.json");
$parsed_json = json_decode($json_string);

$city1 = $parsed_json->{'current_observation'}->{'display_location'}->{'city'};

我已经能够设置它了,现在它得到了第一轮数据,但是第二轮和以下所有数据给了我一个错误:

Warning: fread() expects exactly 2 parameters, 1 given in /home/*****/public_html/*****/acquarossa.php on line 27. 
如果我将缓存的json放在任何json验证器上,它会说它不是有效的json

(这是缓存文件:)

我能做什么


注意:我已经在目录中找到了CHMOD 777。实际上,警告很清楚是怎么回事
fread()
需要两个参数,但在第27行中只传递了一个:
返回fread($fh)

阅读手册,我想你可以通过改变

return fread($fh);


您是否在硬盘上找到缓存文件(即是否存在?)。有错误吗?你懂密码吗?如果没有,是哪一部分?@Hirnhamster文件甚至没有被创建。我想我应该试着直接询问答案脚本的创建者(/user:deceze),我已经能够设置它了,现在它得到了第一轮数据,但是第二轮和所有以下内容给了我一个错误:警告:fread()只需要2个参数,1个在第27行的/home/u221293448/public_html/meteo/acquarossa.php中给出。如果我将缓存的json放在任何json验证器上,它会说它不是有效的json。我能做什么?(这是缓存文件:)
return fread($fh);
return fread($fh, filesize($chacheFile));