Есть страничка, на которой ничего нету.
Всё что она делает, это записывает пришедшие, через GET параметр, значения в сессию.
Если делать как обычную страничку, то она загружается 700мс... и это на локальном компе! Что просто не допустимо
Мне на страничке нужно только работать с сессией, то есть только нужен ID сессии
И нужен доступ к базе, на случай, если придётся лезть в базу.
В результате страничка должна грузиться (на локальном компе) не больше 100мс
Но как это сделать, я не знаю
Очень нужно, подскажите пожалуйста.
Комментарии
Делайте неполный бутстрап и точнее описывайте задачу
Есть страничка А
С неё, на страничку Б отправляется AJAX запрос с GET параметром (www.site.com?param=1)
На страничке Б значение $_GET["param"] записывается в сессию
И эта примитивная операция у меня обрабатывается 700мс.
То есть подключается куча всякой ерунды (модули и так далее)
Тормоза жудкие
я нашёл bootstrap.inc
Но:
1) этот файл с продифинированными настройками глобальный
2) Параметров там море. какие из них, и в какой комбинации, как влияют на производительность я не знаю. При этом не понятно какие ещё значения могут принимать эти настройки.
Если кто-то знает что следует во что установить, чтобы достичь должной производительности, буду очень благодарен.
3) Реально ли вообще отконфигурировать только для 1 странички?
4) Реально ли вообще добиться на друпале обработки страницы за <= 100 мс?
5) Нельзя ли просто подключить ядро, сессию, и базу?
Идём в API, читаем про стадии бутстрапа
Открываем cron.php, много думаем
Делаем как надо
Спасибо.
Заработало. Но пока не совсем.
Если я создаю файл прямо в деректории друпала "http://localhost/drupal/", то всё замечательно
<?php
$db_url
= 'mysql://***:***localhost/drupal';require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
print(session_id()); ?>
Но этот файл (Б) у меня находиться в папки модуля "http://localhost/drupal/sites/all/modules/uberkart_cp/ajax/check_cb.php"
( Модули у меня не подключаются )
В этом файле я пишу:
<?php
$db_url
= 'mysql://***:***localhost/drupal'; chdir("../../../../../");require_once 'includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
print(session_id()); ?>
В результате работает. НО почему-то на этих страницах у меня разные сессии.
http://localhost/drupal/check_cb.php (Правельная сессия. Та, что и на всех страницах)
http://localhost/drupal/sites/all/modules/uberkart_cp/ajax/check_cb.php (Сессия анонимного пользователя)
Обе сессии в базе я вижу. Одна как авторезированный пользователь, другая как анонимный.
Как можно грамотно обойти эту систему безопасности. (если проблема в ней)?
С помощью чего вы это реализовывали? Что возвращает страничка Б, если ее открыть в браузере? Может она у вас делает нужную работу, а потом рендерит контент с блоками "в никуда"?
именно так примерно всё и происходило
Проблему решил так:
<?php
$_SERVER
["SCRIPT_NAME"] = "/drupal/index.php"; // типа файл находится там-же, где и index.php$db_url = 'mysql://***:***localhost/drupal'; chdir("../../../../../");
require_once
'includes/bootstrap.inc';drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION); ?>
Огромное спасибо! Очень полезно!