SVN Export делает мою страницу пустой - PullRequest
1 голос
/ 18 мая 2011

Я использую LAMP с CodeIgniter для одного из моих проектов;версия контролируется SVN.Каждый раз, когда я выполняю svn export file:///svnrepo/project/trunk/www . --force в каталоге www и затем перезагружаю веб-страницу, она становится пустой.

Веб-сайт появляется только после того, как я service httpd restart (используя CentOS 5).

Я хочу иметь возможность выполнять экспорт svn с использованием сценария сборки Phing в будущем, и я не хочу получать права root и перезапускать apache каждый раз, когда я делаю сборку.

В чем я испытываю общую проблему?Как мне решить эту проблему без перезапуска apache?

Редактировать: Кажется, у кого-то была эта проблема раньше: http://codeigniter.com/forums/viewthread/181642/

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Альтернативным решением было бы установить apc.stat = 0 ( ссылка ) в файле apc.ini, а затем использовать apc_clear_cache() ( ссылка ) для принудительного удаления кэш кода операции.

Что удивительно в этом решении, так это то, что, если apc.stat установлено в 0, оно отключает проверку каждого запроса, чтобы определить, был ли файл изменен. Это приводит к огромному повышению производительности.

Кроме того, использование apc_clear_cache() для очистки кэша APC приводит к более чистой сборке. Я столкнулся с шаткими условиями гонки, когда будут создаваться определенные файлы, которые зависят от других, которые еще не были созданы. Это приводит к потере фатальных ошибок. Единственное предостережение здесь заключается в том, что apc_clear_cache() должен быть запущен через Apache, поэтому вам нужно реализовать wget или что-то подобное для этого.

0 голосов
/ 08 сентября 2011

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

#!/bin/sh
svn export --force file:///home/steve/repo/exmaple/trunk \
 /home/steve/public_html/example.com/public/
find /home/steve/public_html/exmaple.com/public | xargs touch

Вы можете найти более подробную информацию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...