После отладки Cannot redeclare...

Тема в разделе "PHP", создана пользователем vanderv, 16 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    269
    Симпатии:
    12
    Zend Studio + denwer...
    Значит каогда делаю отладку (на каждой строчке жму Ф5)... идёт выполнение кода... потом бац ошибка:
    Cannot redeclare class Varien_Event_Collection
    А если просто открыть сайт то всё норм... с чем это может быть связано?
     
  2. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Как обычно, в вопросе содержится 80% ответа. Если дело не в сайте, тогда проблема либо с отладчиком, либо с сервером(ПО). Я бы попробовал вместо Денвера погонять на xampp, если там тоже самое, тогда пробовал другой отладчик.
     
  3. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    Такая ситуация возможна в следующих случаях:
    1)Имеешь 2 класса с одинаковом именем и пытаешься заинклудить их одновременно (маловероятно, но проверь)
    2) Инкллудишь этот класс в несколько файлов, которые в свою очередь инклудятся в главный файл (это наиболее вероятно).
    Поэтому попробуй использовать в качестве инклуда require_ince(), либо вынеси инклуд файлов классов в 1 файл, котоый гарантировано будет инклудится 1 раз.
     
  4. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    У него похоже Magento, если бы там было 2 класса с одинаковом именем, как долго продолжалась бы такая ситуация?
    Я бы посоветовал require_once() :) Но не это главное.
    А как понять тот факт, что сайт не в режиме отладки работает нормально? Получается, что при работе сервер не замечает, что "этот класс инклудится в несколько файлов", а при отладке видит?

    Хотя надо бы еще проверить включен ли вывод ошибок/предупреждений в скрипте. Может режим отладки автоматом включает вывод ошибок, а в самом скрипте вывод сообщений просто подавляется. Посмотри скрипт на предмет строк вроде этой:
    PHP:
    error_reporting (E_ALL);
     
Статус темы:
Закрыта.