2017-07-16 173 views
-1

我有一个php脚本,它从URL调用一个JSON数组并解析它,并将其保存到MySQL数据库。json_decode在php脚本中不工作作为cron作业

如果我从浏览器运行php脚本,那么一切正常。

调用URL,收到JSON数组,并使用从URL中检索的所有数据更新数据库。

我也从cron作业调用同一个脚本 - 但是当cron作业运行时,写入MySQL数据库的数据是空白的。

除了JSON响应的解码之外,一切似乎都奏效。

这是我的PHP脚本代码:

$json_string = 'url_to_be_called'; 
$jsondata = file_get_contents($json_string); 
$obj = json_decode($jsondata, true); 

$BTC_AMP = $obj['BTC_AMP']['last']; 

的代码从浏览器中调用时都完美的作品。

从cron作业调用json_decode或file_get_contents似乎不能正常工作。

+0

显示cron条目,它调用的任何脚本,位于此.php的位置等等...... – YvesLeBorg

回答

1

从代码中,您希望在请求正文中使用JSON格式的字符串。您需要确保您的Cron作业设置发送主体作为请求的一部分。

+0

我该怎么做?为什么当作为cron作业运行时,它与直接从浏览器运行时会有所不同? – Richard

+1

如果您正在尝试发布到URL,那么Cron作业不是您所需要的,请尝试使用卷曲或Cron作业来调用脚本,以使用卷曲对页面进行卷曲 – codegidi

+0

使用卷曲设法得到这个工作。谢谢。 – Richard