2010-10-23 1 views
0

Я использую файл сценария perl как файл карты в директиве RewriteMap. Как я прочитал apache загружает сценарий один раз в начале, так что нужно перезагрузить или перезапустить apache после любых изменений в этом файле сценария?перезапускает службу Apache, необходимую при любых изменениях в файле rewritemap?

ответ

1

Да, rewrite maps зарегистрированы только при запуске Apache. А при использовании внешних программ, как карты перепишем (т.е. карта типа pgr) программа файлы должны быть заблокированы с RewriteLock:

Эта директива устанавливает имя файла для синхронизации файла блокировки, который mod_rewrite должен общаться с RewriteMapпрограмм. Установите этот файл блокировки на локальный путь (не на устройстве, подключенном к NFS), если вы хотите использовать карту-программу перезаписи. Это не требуется для других типов переписывающих карт.

Но другие типы карт могут быть изменены впоследствии:

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

1

Я не уверен, что ответ выше правильный, перезагрузка кажется прекрасной.

Вы можете сделать «ps aux | grep YOUR_REWRITE_PROGRAM», чтобы проверить время PID/время вашей программы перезаписи карты.

Apache reload, похоже, устанавливает новое время PID/время для этих процессов, поэтому я бы предположил, что запущены новые процессы, перезагрузка может быть прекрасной.

 Смежные вопросы

  • Нет связанных вопросов^_^