Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:如何增加内存限制_Php_Api_Json_Khan Academy - Fatal编程技术网

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

Php 致命错误:如何增加内存限制,php,api,json,khan-academy,Php,Api,Json,Khan Academy,我正在尝试使用Khan Academy API,但遇到了一个小问题。我认为API调用返回的数据对于保存数据的变量来说太大了。我在谷歌上搜索了一下,发现了一种将内存限制设置为-1的方法。我试过这个,但似乎对我不起作用。以下是我收到的错误: 致命错误:第20行允许的内存大小125829120字节已用尽(尝试分配86字节) 第20行指的是$array=json\u decode($output,true) 这是我的全部代码: <?php ini_set('memory_limit', '-1')

我正在尝试使用Khan Academy API,但遇到了一个小问题。我认为API调用返回的数据对于保存数据的变量来说太大了。我在谷歌上搜索了一下,发现了一种将
内存限制设置为
-1
的方法。我试过这个,但似乎对我不起作用。以下是我收到的错误:

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

第20行指的是
$array=json\u 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'];
    }
}
?>

php.ini中的内存限制=16M。一些像godaddy这样的服务器是php5.ini。不管你用哪一个。将值更改为所需的最大值

此链接是drupal的信息。但是,应该围绕电路板工作。

尝试以下方法:

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

您是否自行托管?托管提供商可能会限制您的内存使用,从而使您的内存限制无效!您使用的是哪一个PHP版本?是的,可能会限制它,但是:a
$output=json\u decode(file\u get\u contents()http://www.khanacademy.org/api/v1/topictree"));变量转储(内存获取峰值使用率(真))仅报告此处使用的64225280。。。少于一半的限制,并且没有错误。这是一个独立的脚本还是在此之前运行的脚本?这是一个独立的脚本,没有任何东西在运行。您是否真的在整个树中循环查找一个项目(或项目类型-我不熟悉API)?API是否为您提供了更好的方法,仅直接查询您需要的数据?