Установка PHP как модуль mod_php для Apache, или как CGI? За и против
10:47, 29 марта 2006
( )
Вот тут уже неоднократно задают вопрос, какой php выбирать для установки на свой сервер? Ну, а так как "ложки нет" (© Матрица), и универсального рецепта всеобщего счастья тоже нет, то предлагаю самостоятельно выбрать метод установки, предварительно оценив все за и против. Установка как mod_php, модуль Apache. Предполагает получение максимальной производительности от PHP, что является предпочтительным на очень нагруженных сайтах, обновление версии PHP повлияет на все захостченные веб узлы. Очень подходит для случаев "один сервер - один сайт". Установка PHP как CGI. По сравнению с mod_php несколько медленнее. Необходимо прописывать php.cgi как обработчик для php файлов в концигурациях apache для каждого сайта (я это делаю у каждого сайта в корневом .htaccess). Несомненным плюсом является возможность держать нужную версию PHP для каждого конкретно взятого виртуального хоста. Массовые хостинг-серверы, как правило, настроены именно так, ибо при обновлении PHP можно будет переводить на более новую версию php.cgi сайт за сайтом, без боязни потерять работоспособность. Оффтоп: Не нравится мне PHP, идеологически не нравится. Начиная от миллиона напрасновкомпиленных процедур, и корявым "эскейпом и экранированием" HTML и заканчивая мусорником репозитария классов. Но уж очень много всего написано, да и хостинг без поддержки PHP уже практически исчез ;) А поэтому продолжаем грызть кактус ... Пишем баннерную систему
15:00, 24 марта 2005
( )
Баннерную подсистему лучше всего организовывать как вызов внешнего ресурса через iframe. 1. Показ в рандомном порядке у меня был реализован примерно так: 2. Вводишь в таблицу такое понятие как вес(weight) баннера, т.е. число в пределах, к примеру, 1..5. При выборке используем его след. образом: ... Таким образом при весе в 3,2,1 из 6 показов будут показаны первый - три раза, второй - два и третий один.
Полей с просмотрами должно быть два, одно - фактическое, для статистики, другое для операций по выборке. Второе при добавлении баннера следует обнулять. Таким образом вновь добавленный баннер станет равноценным по отношению к показам остальных. При выборках баннера обязательно делать LOCK/UNLOCK таблицы с баннерами, т.к. повторный select может не включить в себя результаты после update, и на странице вылезет два одинаковых баннера. |
© Максим Прокопов 2005-2024 | О сервере |