致命错误:如何增加内存限制

时间:2013-12-18 23:52:54

标签: php api json khan-academy

我正在尝试使用Khan Academy 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'];
    }
}
?>

2 个答案:

答案 0 :(得分:0)

php.ini中的

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

https://drupal.org/node/29268

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

答案 1 :(得分:0)

试试这个:

<?php
ini_set('memory_limit', '128M');