Php 致命错误:如何增加内存限制
我正在尝试使用Khan Academy API,但遇到了一个小问题。我认为API调用返回的数据对于保存数据的变量来说太大了。我在谷歌上搜索了一下,发现了一种将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')
内存限制设置为-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是否为您提供了更好的方法,仅直接查询您需要的数据?