0

我正在尝试使用可汗学院 API,但遇到了一个小问题。我相信 API 调用返回的数据对于保存数据的变量来说太大了。我做了一些谷歌搜索,发现了一个设置memory_limit等于的方法-1。我试过这个,但它似乎对我不起作用。这是我收到的错误:

致命错误:第 20 行允许的内存大小为 125829120 字节已用尽(尝试分配 86 字节)

第 20 行是指$array = json_decode($output, true);

这是我的完整代码:

<?php
ini_set('memory_limit', '-1');

$options = array(
       CURLOPT_URL => "http://www.khanacademy.org/api/v1/topictree",
       CURLOPT_RETURNTRANSFER => true,
);

$ch = curl_init();
curl_setopt_array($ch, $options);
$output = curl_exec($ch);

$array = json_decode($output, true); //Saves the returned JSON object as a multi-dimensional array

foreach ($array as $key => $subarray) {

    if ($subarray['readable_id'] == 'financial-crisis-in-thailand-caused-by-speculative-attack') {
        echo $subarray['readable_id'];
    }
}
?>
4

2 回答 2

0

php.ini 中的 memory_limit = 16M。像godaddy 的一些服务器是php5.ini。无论您使用的是哪一个。将值更改为您需要的大小。

https://drupal.org/node/29268

此链接是 drupal 的信息。但是,应该围绕董事会工作。

于 2013-12-19T01:45:03.843 回答
0

尝试这个 :

<?php
ini_set('memory_limit', '128M');
于 2013-12-19T02:20:07.073 回答