PDA

View Full Version : modules.php


Flare
01.03.2007, 05:16
Как обьеденить два скрипта index.php и modules.php в один index.php, чтобы все работало норм. Тоесть вместо запросов .../modules.php?name=... было .../index.php?name=...

0z0n
01.03.2007, 18:45
смотреть как сделано в Slaed Cms

Flare
01.03.2007, 19:35
если внимательно вчитаться в вопрос, можно заметить, что я спросил как сделать в нюке, а не просил посылать изучать работу других Cms

Astrix
01.03.2007, 23:19
используйте mod_rewrite
для примера можете скачать модуль: http://rus-phpnuke.com/modules.php?name=Files&go=view_file&lid=448

если разберетесь, можно будет вообще не трогать index.php и modules.php

просто объединить их не получется, т. к. во всех модулях ссылки привязаны к modules.php - вам придется переписывать и эти модули.
в остальном же можно попробовать сделать так:

1) открываете index.php
находите строчку: require_once("mainfile.php");
выделяете все, что находится после нее до тега ?> и копируете в буфер
2) затем открываете modules.php
в самом конце файла находите следующие строчки:
else {
header("Location: index.php");
exit;
}
Удаляете
header("Location: index.php");
exit;
и на их место вставляете то, что скопировали в буфер
должно получиться так:

else {
//содержимое index.php
}

3) Сохраняете изменения
4) Далее удаляете или переименовываете index.php
5) Переименовываете modules.php в index.php

После этого придется переписать все модули, чтобы они ссылались не на modules.php а на undex.php

Flare
01.03.2007, 23:23
спасибо

Flare
02.03.2007, 21:56
if (eregi("файл.php",$_SERVER['PHP_SELF'])) {
Header("Location: index.php");
die();
}

что делает этот код в файле? и важный ли он?

Astrix
02.03.2007, 23:23
Этот код защищает файл от прямого обращения к нему вместо штатного:
modules.php?name=Модуль&file=файл...
обратившись к файлу напрямую хакер может провести целый ряд простейших атак, которые могут привести к сложнейшим проблемам для вас!
не удаляйте этот код!

но есть другой способ защитить такие файлы. об этом смотрите тут: http://mynuke.ru/modules.php?name=Downloads&op=getit&lid=60

Spiker86
18.03.2007, 03:24
здравствуйте, у меня проблема: 01.03.2007, 22:19 в этой теме было сообщение Astrix.
1) открываете index.php
находите строчку: require_once("mainfile.php");...................
я проделал эту процедуру до После этого придется переписать все модули, чтобы они ссылались не на modules.php а на undex.php (не дочитал до конца)
И соответственно сайт не работал. Начал переделывать все обратно, пропал файл mainfile.php. Я заново перекинул с установочного PHPNUKE_80_RUS_291006. В modules.php случайно удалил последние строки :=(( . В общем теперь ничего кроме главного сайта не работает. Можно что нибудь восстановить? При загрузке сайта ничего не пишет, белый экран и все. Помогите, если это возможно


---------------------------------------------
ИЗВИНИТЕ, сам разобрался! удалил все файлы из www/ и вставил стандартные. Вроде все как было. Может это повлиять на ранее сделанные настройки???

Alexander-V-Sh
18.03.2007, 12:52
смотря какие были ранее настройки :) может у вас половина файлов была переписана там...

а если те, что храняться в бд, то они не пострадали.

Flare
20.03.2007, 03:18
ну я себе сделал ;) теперь все работает ;) а 25-30 запросов на главной при посещениях 800 чел в день это много???

Astrix
20.03.2007, 15:03
Помножьте количестве запросов на количество посетителей. И что получится напишите своему хостеру. Если его устроит такая нагрузка на MySQL - значит, не много ;)
Хотя, можно уменьшить это дело до 10-15 а то и меньше.

Flare
21.03.2007, 15:09
у меня сейчас открытие страницы: 1.556 секунды и 18 запросов к базе данных. висит только опрос, новости и навигация. уменьшенно колличество запросов помоему везде где можно.
если есть какое-то универсальное средство, тогда пожалуйста напишите сюда, если не тяжело ;)

Да вот еще, пользователи еще бегают по страницам и запросы идут, поэтому кол. пользователей если множить на запросы на гл. страницы, если только пользователь только на главную зайдет и все ;(

Astrix
21.03.2007, 20:03
у меня сейчас открытие страницы: 1.556 секунды и 18 запросов к базе данных. висит только опрос, новости и навигация. уменьшенно колличество запросов помоему везде где можно.
если есть какое-то универсальное средство, тогда пожалуйста напишите сюда, если не тяжело ;)
Что-то долго, ИМХО. Хотя, все зависит от конкретной машины (На моем Celeron 2400 генерация 1.1-1.2 с и 12-13 запросов).
Универсальное средство?
Возможно, это объединение схожих запросов SELECT, либо вывод всего содржимого таблицы, если она не оч большая, в массив и в дальнейшем работа с ним. А можно все это комбинировать...
Да вот еще, пользователи еще бегают по страницам и запросы идут, поэтому кол. пользователей если множить на запросы на гл. страницы, если только пользователь только на главную зайдет и все ;(
А кто вам про точность говорил? Это лишь приблизительная цифра. К тому же количество запросов на разных страницах сильно колеблется и ее можно взять за среднее значение.

Alexander-V-Sh
21.03.2007, 22:44
Открытие страницы не зависит от кол-ва запросов. Точнее зависит, но не напрямую.

Например:
Генерация страницы: 0.091 сек. и 8 запросов к базе данных за 0.007 сек.
Тут оптимизированы запросы в базу данных и пхп код.

Генерация страницы: 1.2 сек. и 80 запросов к базе данных за 0.557 сек.
Тут оптимизирован пхп код, но не оптимизированы запросы в базу данных

Генерация страницы: 3.2 сек. и 80 запросов к базе данных за 0.557 сек.
Тут вообще ничего не оптимизировано.

На время генерации страницы очень сильно влияют фильтры.
При выводе 100 заголовков через фильтр: filter($text, "nohtml") Страница будет генерироваться в 50 раз дольше, чем без него.
И т.д.
Поэтому уменьшить кол-во запросов в базу еще не все.

Astrix
22.03.2007, 00:22
Alexander-V-Sh, обычно выходит совсем наоборот - чем меньше количеств запросов, тем дольше генерация... приходится искать баланс.

Flare
22.03.2007, 06:20
Что-то долго, ИМХО. Хотя, все зависит от конкретной машины (На моем Celeron 2400 генерация 1.1-1.2 с и 12-13 запросов). У меня Celeron 900 ;0)

Alexander-V-Sh
22.03.2007, 13:56
Astrix
обычно выходит совсем наоборот - чем меньше количеств запросов, тем дольше генерация... приходится искать баланс.

Так не может быть тереоритически :) Меньше запросов, меньше время запроса в базу, и следовательно быстрее сгенерируется страница.