"Прозрачное" обновление PHP-скриптов

Discussion in 'PHP' started by Chat.nm.ru, 7 Jun 2006.

  1. Chat.nm.ru

    Chat.nm.ru New Member

    Joined:
    15 Nov 2005
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Каким образом можно осуществить обновление PHP-скриптов на сайте, если ресурс очень посещаем и к PHP-скриптам происходит очень интенсивное обращение? Если обновлять по FTP через диал-ап, то, естесственно, в то время пока файл будет заливаться, пользователь увидет ошибку, обратившись к этому PHP-скрипту во время его выгрузки (хотя может произойти и кое-что похуже :).
    Таким образом, в идеале хочется вот что: спокойно заливаю нужные php-скрипты по FTP или через скрипт, после чего происходит обновление этих скриптов на стороне сервера за считанные доли секунды или специальный скрипт отлавливает тот момент, когда php-скрипт последний раз выполнился и уже при следующем его вызове сервером отдаётся новый обновлённый php-скрипт.

    В принципе могу реалезовать такой скрипт через rename (ну + ещё что-нибудь прикрутить типа flock), но может быть существует более правильный и надёжный инструмент для этой цели, может быть этот велосипед уже сделан до меня? =)
     
  2. ferryman

    ferryman Elder - Старейшина

    Joined:
    13 Feb 2006
    Messages:
    88
    Likes Received:
    8
    Reputations:
    5
    В примере - закрывать на профилактику... как на форумах...
     
  3. pch

    pch Elder - Старейшина

    Joined:
    22 Oct 2005
    Messages:
    34
    Likes Received:
    41
    Reputations:
    15
    Можно закачивать все обновления в папку, например, update. В неё же поместить скрипт на php, который будет перемещать все файлы из этой папки на уровень выше. Можно перемещать и вручную, если есть shell на этом сервре. Поскольку перемещение файла с одного места на другой на сервере - очень быстрая операция, то пользователи вряд ли это заметят.
     
  4. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    ННМ.ру, по 120к хостов в сутки, хитов за лям. Каюсь, просто обновляю скрипты с ФТП. Ошибки выключены, пользователи, попадающие в этот момент на ННМ видят бланк
     
    _________________________
  5. Chat.nm.ru

    Chat.nm.ru New Member

    Joined:
    15 Nov 2005
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Угумс

    Да, у меня была такая идея, перезаписывать .htaccess, включающего авторизацию или deny from all при вызове нужного PHP-скрипта, но не катит. Это слишком банально и просто, а заботы о посетителях никакой. =)
    Угу, пожалуй наилучший вариант это rename. Только интересно, если перед этим заблокировать flock`ом перезаписываемый файл, какая реакция будет у апача при обращении к нему в этот момент... Не охото просто запариваться и проверять, но мне кажется это наиболее верный вариант.
    Понится кто-то говорил что у нормального кодера в любой ситуации никогда не должно выскакивать никаких нотисов и не подавляться ошибки. ;)
     
  6. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    2 Chat.nm.ru
    ошибки выключены как раз на случай неработы скриптов по причинам форсмажера
     
    _________________________
  7. godlove

    godlove New Member

    Joined:
    7 Jun 2006
    Messages:
    5
    Likes Received:
    1
    Reputations:
    1
    Chat.nm.ru
    ну еще ошибки выключают от взломщика(как писал Фленов "пхп глазами 31337 -))")
    самый лучший вариант это закрывать на профилактику чат когда там количество пользовтелей стремится к 0(наверника такое бывает)