Покинул форум
Сообщений всего: 41
Дата рег-ции: Июль 2011 Откуда: Воскресенск
Помог: 0 раз(а)
Приветствую всех! Прошу о помощи, так как на последнем этапе разработки столкнулся с очень неприятной проблемой. Ситуация такая:
1. Есть сессия в рамках которой есть некое количество переменных, она инициализируется файлом session.php;
2. Есть файл cache.php, который берет данные из этой сессии и генерирует кэш-файл, который потом будет подтягиваться к html-таблице.
Если запустить файл сессии из браузера, а потом запустить cache.php, то в него быстро и легко подтягиваются значения из переменных, находящихся в сессии - это работает отлично.
Но! Мне необходимо автоматически генерировать кэш. Я создал файл curl.php и дергаю в нем поочередно сначала файл session.php, а потом cache.php - и переменные из него не поддтягиваются! Ну хоть ты тресни!
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
mixalic, если честно, то я ничего не понял. Не понял почему такая реализация кеша в принципе. Курлом что-то дёргать, что-то тянуть из сессий и что-то катить в гору. Нипанятна.
3d_killer пишет:
может я ошибаюсь, но
Возможно, что не ошибаетесь.
mixalic
Отправлено: 16 Августа, 2013 - 09:11:17
Новичок
Покинул форум
Сообщений всего: 41
Дата рег-ции: Июль 2011 Откуда: Воскресенск
Помог: 0 раз(а)
3d_killer, на первый взгляд именно в это дело. Будет доступ к ПК попробую. Благодарю. Действительно очевидная ошибка, как мне кажется.
avtor.fox, я создал тему не для того, чтобы рассказать о своем проекте, а для решения проблемы по конкретному коду. Так что понимать что это и для чего, чтобы дать совет в принципе и не обязательно. Если считаете, что что-то не оптимально написано, поделитесь как Вы бы это сделали. С интересом почитаю, опыта мало, возможно узнаю что-то новое.
DelphinPRO
Отправлено: 16 Августа, 2013 - 09:19:24
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
mixalic пишет:
Если считаете, что что-то не оптимально написано, поделитесь как Вы бы это сделали.
Боюсь он не сможет дать совет, потому что
avtor.fox пишет:
если честно, то я ничего не понял.
----- Чем больше узнаю, тем больше я не знаю.
avtor.fox
Отправлено: 16 Августа, 2013 - 09:55:46
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
DelphinPRO, почему же? Вы меня совсем за человека не считаете
mixalic, дело в том, что реализация гкхмм. А что нам нужно? Нам нужен независимый* кеш.
One(?)
* Смотрим, какие данные тянутся. Например каталог товара. Какие камни? Более полумиллиона позиций. Что нам нужно? Нам нужно создать для каждой позиции кеш! (полноценное кеширование (на товар по кешу) | кеширование области страницы (сложности)). * Хотим кешировать странички полностью и не трогать базу для выборки позиций! Для этого нам потребуется таблица с примерными колонками - page | filecashe | some collumn. * "Зачем нам база данных, если мы хотим кешировать данные, а к ней всё равно обращаемся?" - дело в том, что обращения к базе будут происходить в любом случае (в противном, работайте с файлами, пожалуйста), но эти запросы относительно ничтожны. * Как нам создать кеш и потом к нему обратиться?
1. Смотрим на юрлу, проверяем её наличие в базе. Нет значения? Собираем необходимую информацию (в абсолютном порядке) и пишем в файл.
2. Итак, файл создан. Но, что дальше? Дальше имя файла и адрес страницы по которой обратились заносим в таблицу.
3. Повторяем пункт 1/ и находим нужную строку в таблице. Тянем нужный файл и отдаём его.
* Это самое простое в реализации кеша.
* Помнится у товарища EuGen был пост с описанием реализации кеширования (если не изменяет память то).
* Зачем какие-то сессии и прочая мурня?
* И кстати, Вы не показав собственно файл cache.php спрашиваете в чём ошибка, а ошибка может быть и в нём.
mixalic
Отправлено: 18 Августа, 2013 - 13:57:24
Новичок
Покинул форум
Сообщений всего: 41
Дата рег-ции: Июль 2011 Откуда: Воскресенск
Помог: 0 раз(а)
avtor.fox, спасибо способ хороший, поробую в будущем. Сейчас же переписывать ничего не буду, ведь осталось решить последнюю проблему. Файл cachee.php и приведен во втором листинге. Приводить файлы использующиеся для кэширования не вижу смысла, из браузера все отлично кэшируется. Сессия теряется только при работе с cURL.
Совет 3d_killer не помог. Файл cache.php по прежнему не видит переменных сессии.
caballero
Отправлено: 18 Августа, 2013 - 15:40:35
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Сессия теряется только при работе с cURL.
А с чего бы сессии работать при обращении через курл.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.