Я вижу подобные ошибки в журнале ошибок Apache сразу после развертывания, и есть ошибки HTTP 500:
Неустранимая ошибка PHP: Uncaught RuntimeException: не удалось записать файл кеша "/var/www/html/app/tmp/twig_cache/6d/6d9137e2293cd0c967ee8ce214a07535e605a8a487340c1fcebb231ae2ef9317.php".
/var/www/html/app
символическая ссылка на /var/www/app/4.0.0
(снаружи, если корень документа). Сейчас я готовлю новую версию в каталоге и запускаю эту команду в html
каталог для запуска:
ln --symbolic --directory --force --no-target-directory ../app/4.1.0 app
Это работало для нескольких версий, но в последнее время стали появляться ошибки, скорее всего, от людей, у которых уже был открыт сайт до обновления.
Решением было бы перезапустить сервер Apache через systemctl restart httpd
но перезапуск systemd может занять почти полторы минуты, что проблематично в рабочее время. Apache очень быстро перезагружается в среде QA, поэтому я снова предполагаю, что задержка вызвана ожиданием завершения открытых соединений.
Может ли кто-нибудь предложить лучший способ развернуть приложение, чтобы избежать этой проблемы?
Решением было бы перезапустить сервер Apache
Если это исправит описанную вами ошибку, то есть что-то очень не так с операционной системой.
Не удалось написать ...
Подразумевает
У вас есть исходный код. Вы можете увидеть, что находится в файловой системе. Вы также можете увидеть полный текст ошибки. Если это не включает файл и номер строки, в которой возникает ошибка, вы можете настроить свой код, чтобы зафиксировать это.
Часто для начала полезно ввести сообщение об ошибке в Google. Если бы вы это сделали, вы бы видели множество описаний как минимум двух из вышеперечисленных проявлений для других пользователей. И в некоторых случаях описания того, как они исправляли проблемы
Конечно, использование символических ссылок влияет на производительность и емкость. Пока вы сказали Apache следовать символическим ссылкам, это не повлияет на производительность.