2011-09-01

Еще один странный глюк в PHP

Два дня бился со странным глюком  - в скрипте в определенном месте отваливается соединение с базой данных - выдает "MySQL server is gone away". При этом отваливается всегда в одном и том же месте после куска кода с большим объемом вычислений, но без единого вызова базы данных. И только на сервере - на локальном компьютере всё тип-топ. Путем небольших, почти шаманских манипуляций с кодом удалось проблему купировать, правда неизвестно, где она может всплыть в дальнейшем. Налицо проблема в самом интерпретаторе PHP.

Upd: Нашел источник проблемы

Такое себе позволял только PHP4. Похоже, PHP5 вступил в ту стадию зрелости за которой уже наступает старческий маразм...

 

комментарии:

 
eikei | 2011-09-02

мож разбивать вычисления на части ...

типа делать:

a=b+c+d заменить на f=b+c; a=f+d ... 

так например компилер на микроконтроллерах переваривает код при включенной оптимизации ...

Skinner (анонимный пользователь) | 2011-09-06

А лимит оперативки на сервере тоже имеит предел (особенно если это чейто хостинг) а если обьемы действительно большие то (куска кода с большим объемом вычислений) то коннект к базе мог стать просто лишним баластом .... как вариант)

max | 2011-09-06

Про лимит это первое, что мне пришло в голову, идея хорошая, но когда я его увеличил в несколько раз проблема все равно сохранилась. Кроме того лимит памяти обычно выдает критическую ошибку - а здесь просто разрывается соединение. Хотя, всё возможно...

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться