Страница 1 из 3

Глюки с переменными

Добавлено: Пт апр 26, 2013 10:34 pm
Alex
Время от времени перестают нормально работать переменные в скриптах и методах. После перекапывания кода выясняется, что переменная просто не работает. Но если её переименовать, то всё становится нормально.

Вопрос. Переменные в скриптах и методах локальные или глобальные? Вроде бы локальные и доказательство этому куча одинаковых переменных типа $i, $v, $a и т. д. в скриптах. Но иногда такая $a (тихо!) перестаёт работать пока не переименуешь её в $a2 или $aa.

Глюк очень неприятный потому, что трудноуловимый. Столкнулся с этим уже в третий раз. Что это за гадость такая?

Re: Глюки с переменными

Добавлено: Пн апр 29, 2013 11:30 am
sergejey
Не сталкивался с подобным... В коде переменные локальные. Если будет пример кода, то смогу посмотреть, в чём дело -- может дело не в переменных, а в самом коде.

Re: Глюки с переменными

Добавлено: Пн апр 29, 2013 1:04 pm
Alex
Сначала работало нормально с переменной $temp, потом перестало. После переименования в $temp2 снова заработало. Но это ещё догадаться надо было.

Код: Выделить всё

 $ch = curl_init('http://192.168.1.17:8085/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$ohm = curl_exec($ch);
$json = json_decode($ohm);

$cpu = $json -> {'Children'}[0] -> {'Children'}[1];
$cpu_load = $cpu -> {'Children'}[2] -> {'Children'}[0] -> {'Value'};

$temp2 = substr($cpu_load, 0, strpos($cpu_load, ' '));
$load = round($temp2, 1);
sg('analog21.val3', $load);

Re: Глюки с переменными

Добавлено: Пн июн 17, 2013 4:28 pm
Pop
Подтверждаю, периодически перестают обновляться веб-переменные, если ее переименовать, то начинает работать. Ну или если систему перегрузить (хотя не всегда с первого раза).

Re: Глюки с переменными

Добавлено: Пн июл 01, 2013 4:21 am
Snark
Pop писал(а):Подтверждаю, периодически перестают обновляться веб-переменные, если ее переименовать, то начинает работать. Ну или если систему перегрузить (хотя не всегда с первого раза).
Такая же штука. Сегодня вечером приду, буду смотреть к коде, или будем дружно просить помощи автора :)

Re: Глюки с переменными

Добавлено: Пн июл 01, 2013 8:02 am
Jager
Snark писал(а):Такая же штука. Сегодня вечером приду, буду смотреть к коде, или будем дружно просить помощи автора :)
Мне в таком случае помогает функция "восстановление таблицы" phistory. Т.е. похоже что проблема образуется в момент записи в БД.

Re: Глюки с переменными

Добавлено: Пн июл 01, 2013 9:44 am
Snark
Jager писал(а):
Snark писал(а):Такая же штука. Сегодня вечером приду, буду смотреть к коде, или будем дружно просить помощи автора :)
Мне в таком случае помогает функция "восстановление таблицы" phistory. Т.е. похоже что проблема образуется в момент записи в БД.
Всё это странно и загадочно... Сервер поднял только вчера, и на следующий же день такая ошибка. При этом ни одного аварийного завершения работы системы/компа не было.

Re: Глюки с переменными

Добавлено: Пн июл 01, 2013 11:05 am
sergejey
Ребят, я б помог, но не могу выловить такой глюк. Попробуйте найти систему его возникновения, что б можно было воспроизвести ситуацию -- это 90% пути решения проблемы :)

Re: Глюки с переменными

Добавлено: Пн июл 01, 2013 2:28 pm
Jager
sergejey писал(а):Попробуйте найти систему его возникновения
У меня этот глюк возникает когда я открываю на редактирование ранее созданную web-переменную, после сохранения одна из переменных может перестать обновляться, причем не обязательно та которая редактировалась.
И еще меня волнует почему получается так
Изображение
хотя период обновления у всех датчиков температуры выставлен в 1 минуту, разбег в диапазоне от 1 до 5 минут.

Re: Глюки с переменными

Добавлено: Вт июл 02, 2013 7:49 pm
Hitman_dc(78)
Аналогичная проблема, веб-переменные не отрабатываю, в командной строке тишина. Пытаюсь посмотреть последнюю страницу данных таблицы phistory зависает, пытаюсь удалить данные предпоследней страницы выдаёт ошибку: Ошибка SQL-запрос:
SELECT *
FROM `phistory`
LIMIT 183720 , 30
Ответ MySQL:
#1194 - Table 'phistory' is marked as crashed and should be repaired
См.скрин.1

Значит буду восстанавливать таблицу из бэкапа(спасибо создателю за него).

PS: Может он не закрывает что-то? Т.е. посылается запрос на открытие чего-то но не посылает запрос на закрытие, перезагрузка всей системы или движка не помогает.