IT-Expert
  IT-Expert / Веблог / Ключевые слова / PHP
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 
      входит в:
      Web Development

      PHP

      включает:
      MySQL

      Установка 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. Показ в рандомном порядке у меня был реализован примерно так:
      Яваскриптом на странице генеришь случайное число(как правило для того чтобы сраницы с баннерами не кешировались), это число подставляешь параметром к вызову страницы баннера. Таким образом баннеры вызванные с одной страницы будут иметь одинаковый параметр.
      Далее после выборки баннера делаем update поля last_pid, в которое заносим наше рандомное число со страницы. При следующей выборке уже показанный баннер попадет под условие last_pid!="наше рандомное число со страницы" и повторно на одной странице показан не будет.

      2. Вводишь в таблицу такое понятие как вес(weight) баннера, т.е. число в пределах, к примеру, 1..5. При выборке используем его след. образом:

      ...
      order by
      views*weight
      ...
      где views = количество просмотров.

      Таким образом при весе в 3,2,1 из 6 показов будут показаны первый - три раза, второй - два и третий один.


      И еще пару моментов, которые тебе однозначно пригодятся.

      Полей с просмотрами должно быть два, одно - фактическое, для статистики, другое для операций по выборке. Второе при добавлении баннера следует обнулять. Таким образом вновь добавленный баннер станет равноценным по отношению к показам остальных.

      При выборках баннера обязательно делать LOCK/UNLOCK таблицы с баннерами, т.к. повторный select может не включить в себя результаты после update, и на странице вылезет два одинаковых баннера.

       
      © Максим Прокопов 2005-2024 О сервере