我需要在循环内更新数组中的值。通常这样可以正常工作,但是关于这个循环的一些事情会导致内存最大化。
while ($watering_window['total_run_time'] > $water_window_total)
{
foreach ($master_schedule as &$_ms)
{
$current_soak_time = $_ms['between_starts'] - $_ms['total_run_time'];
if ($current_soak_time > 0)
{
$new_soak_time = ceil($current_soak_time * 0.9);
$_ms['between_starts'] = $_ms['total_run_time'] + $new_soak_time;
$watering_window['total_run_time'] -= $current_soak_time - $new_soak_time;
}
}
}
写入$_ms['between_starts']
(现有密钥)导致内存问题。如果我改变它来写一个新键(如$_ms['between_starts_new']
,没有内存问题。我也尝试写一个常量值(而不是一些东西),它仍然超时。
答案 0 :(得分:3)
您需要增加memory_limit
。
在php脚本的顶部添加以下内容:
<?php
ini_set('memory_limit','256M');
...
根据您的需要调整值。
答案 1 :(得分:2)
在设置之前尝试取消导致问题的密钥。
$scope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
if(toState == 'utab.history')
{
// do your stuff
}
});