Проблемы с APC на публикуют

В настоящее время X-Ray не имеет возможности собирать статистику на стороне клиента. X-Ray изучает способы поддержки этого варианта использования, но не имеет ETA, когда.

5
задан Jeremy DeGroot 4 May 2009 в 15:32
поделиться

6 ответов

Похоже, что частично опубликованный файл читается и кэшируется как поврежденный. apc.file_update_protection разработан, чтобы помочь остановить это.

в php.ini: apc.file_update_protection integer

apc.file_update_protection установка задерживает кэширование файлы. По умолчанию это 2 секунды, которые означает, что если модификация отметка времени (mtime) в файле показывает, что ему менее 2 секунд доступ к нему не будет кэшироваться. Несчастный человек, который получил доступ этот наполовину написанный файл все равно увидит странность, но, по крайней мере, это не так сохраняются.

После редактируемого вопроса: одной из причин, по которой я не вижу подобных проблем, является то, что я нажимаю на целую новую копию сайта (с экспортом SVN). Только после того, как это будет полностью завершено, оно станет видимым для Apache / Mod_php (см. Мой ответ Как начать развертывание приложений PHP из хранилища Subversion? )

Конечно, может случиться и другое: что если вы обновляете на месте, вы можете обновлять файлы, которые зависят от других, которые еще не были загружены. Rsync может гарантировать атомарные обновления только для отдельных файлов, а не для всей коллекции, которая изменяется / загружается. Еще одна причина, по которой я думаю загрузить сайт в массовом порядке, и только потом вводить в действие.

7
ответ дан 13 December 2019 в 19:35
поделиться

Никогда видел это раньше, даже если я огромный пользователь APC. Может быть, попытаться запустить сценарий, который очищает код операции APC при каждой отправке нового кода на сервер?

0
ответ дан 13 December 2019 в 19:35
поделиться

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

0
ответ дан 13 December 2019 в 19:35
поделиться

Похоже, APC не выполняет предварительную обработку или не получает правильную информацию о состоянии файла. Вы можете проверить это, чтобы убедиться, что конфигурация APC apc.stat установлена ​​правильно. Еще одна вещь, которую вы могли бы сделать - принудительно очистить кеш при помощи apc_clear_cache () при публикации нового кода.

4
ответ дан 13 December 2019 в 19:35
поделиться

ctime означает время создания. Вам нужно будет вручную очищать весь кэш каждый раз, когда вы делаете обновления.

Вы можете легко сделать это, разместив скрипт apc.php где-нибудь на вашем сервере. Этот скрипт дает вам статистику кеша и позволит вам полностью удалить кеш.

Скрипт поставляется с APC.

Хопет его помогает, Эверт

0
ответ дан 13 December 2019 в 19:35
поделиться

Вероятно, это происходит из-за несоответствия между вашим кодом и кэшированными версиями кода.

Например, APC имеет кешированную версию User.php, но вы внесли изменения к User.php или к данным, которые использует Пользователь. Кэшированная версия все еще работает даже после развертывания, поскольку ее срок еще не истек.

Если вы очистите записи в кэше APC при развертывании, эта проблема должна исчезнуть.

0
ответ дан 13 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: