За последние 24 часа нас посетили 18139 программистов и 1651 робот. Сейчас ищут 1643 программиста ...

Проблемы с ob_start() серверный код выполняется по нескольку

Тема в разделе "Прочие вопросы по PHP", создана пользователем ваяс, 16 ноя 2012.

  1. ваяс

    ваяс Активный пользователь

    С нами с:
    8 июн 2012
    Сообщения:
    99
    Симпатии:
    0
    Есть проблема с использованием буфера,
    Код (Text):
    1.    
    2.     ob_start();    
    3.         switch($_GET['val0'])
    4.         {  
    5.             case 'profile':
    6.                 include './modules/profile/router.php';
    7.             break;
    8.             case 'auth':   
    9.                 include './modules/auth/router.php';
    10.             break;          
    11.             default:
    12.                 include './modules/auth/router.php';
    13.             break;
    14.         }        
    15.         $content = ob_get_contents();
    16.         ob_end_clean();
    Использую его следующим образом.
    На индексной странице складываю всю логику и представление в буфер, а после вывожу в шаблон, но при дебагге у меня по нескольку раз проходит цикл, в чем может быть проблема, если я поставлю бряку на $content и путь будет скажем таким http://site/profile/ зайдет два раза, а если таким http://site/profile/settings/private то зайдет уже четыре раза. Может быть кто то иначе делает подобные вещи хотелось бы найти какое то красивое решение спасибо.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Проблемы с ob_start() серверный код выполняется по неско

    тут вобще нет цикла и вобще ничего что может порождать такое поведение. но скорее всего где-то в коде до этого места есть.
     
  3. ваяс

    ваяс Активный пользователь

    С нами с:
    8 июн 2012
    Сообщения:
    99
    Симпатии:
    0
    Re: Проблемы с ob_start() серверный код выполняется по неско

    Я понимаю что здесь нет цикла, но это повторяется, для примера брал всего лишь одну строчку в $content и тем не менее, такое же поведение. Хотя вот отдельно без конфигов я не пробовал возможно дело в них
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Проблемы с ob_start() серверный код выполняется по неско

    ну может даже в конфиге сервера скрываться косяк... надо всё смотреть. кроме тебя тут не победит никто =)
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Проблемы с ob_start() серверный код выполняется по неско

    может рекурсия в include ? )))
     
  6. ваяс

    ваяс Активный пользователь

    С нами с:
    8 июн 2012
    Сообщения:
    99
    Симпатии:
    0
    Re: Проблемы с ob_start() серверный код выполняется по неско

    Нашел в чем причина, но решение пока что не придумал дело в .htaccess и преобразовании красивых урл
    Сам .htaccess следующего содержания
    Код (Text):
    1. Options +FollowSymlinks
    2. RewriteEngine On
    3. RewriteCond %{REQUEST_FILENAME} !-f
    4. RewriteCond %{REQUEST_FILENAME} !-d
    5. RewriteRule (.*) index.php
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Проблемы с ob_start() серверный код выполняется по неско

    RewriteRule ^(.*)$ index.php
    а так?
     
  8. ваяс

    ваяс Активный пользователь

    С нами с:
    8 июн 2012
    Сообщения:
    99
    Симпатии:
    0
    Re: Проблемы с ob_start() серверный код выполняется по неско

    Офигеть, ))))) но что это означает я что то не понял, а заработало на УРА!!!
    Теперь строго по одному разу, как надо все идет
    Спасибо igordata
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Проблемы с ob_start() серверный код выполняется по неско

    странно всё равно
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Проблемы с ob_start() серверный код выполняется по неско

    магия!
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Проблемы с ob_start() серверный код выполняется по неско

    как обычно, чо