Каково определение среды подготовки при разработке веб-приложений?

Я получаю эту ошибку на регулярной основе, вот некоторые вещи, которые могут помочь:

php artisan cache:clear

или удалить кеш вручную в каталоге начальной загрузки (он отвечает за кеш маршрутов и сервисов.

также могут помочь эти методы:

composer dump-autoload -o
composer update

Компоновка дампа-автозагрузки создает список всех классов, которые должны быть включены в проект (autoload_classmap.php).

Опция -o / --optimize преобразует правила PSR-4 / PSR-0 в правила карты классов, в результате автозагрузчику не требуется доступ к файловой системе, что ускоряет ее работу - что также часто является источником проблемы, так как автозагрузчик Laravel использует эту оптимизацию (кэширование).

также откат миграции помог решить проблему несколько раз (если миграция прошла успешно):

php artisan migrate:rollback
13
задан Cœur 12 January 2019 в 12:40
поделиться

3 ответа

Я бы посоветовал, чтобы ваша промежуточная среда как можно точнее напоминала производственную.

Если вы используете отдельные серверы для БД и веб-сервера, постарайтесь сохранить это в промежуточной среде как ну, если вы используете балансировщик нагрузки, попробуйте настроить его также для промежуточной обработки и т. д.

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

Что касается других ваших вопросов:

  • Постановка обычно может быть снижена, когда это необходимо, вы можете иметь более гибкий график для это для установки новых версий.
  • У нас были случаи, когда мы устанавливали более одного экземпляра приложения на стадии подготовки. Одна из них похожа на производственную версию, а другая - с новыми функциями для тестирования клиентом.
11
ответ дан 1 December 2019 в 22:08
поделиться

«Какие свойства будут подходящими при определении промежуточной среды?»

Стек технологий должен быть таким же. В самом деле, вы должны иметь возможность просто клонировать стадию для восстановления производственной среды.

«Должен ли веб-сервер быть на отдельной физической машине, чем база данных?»

Для постановки? Не обязательно. Если у вас надежное управление конфигурациями, тогда у вас будет вся необходимая конфигурация. параметры в промежуточной стадии и правильно исправить их при переходе к производственной среде.

Если ваш CM не очень надежен, вам понадобится стадия, чтобы иметь ту же физическую архитектуру, что и производственная, чтобы вы могли вносить изменения в конфигурацию.

"Имеет ли база данных должны быть точно идентичны производственной базе данных? "

Зависит от варианта использования. Если вы обновляете базу данных, они могут ' t быть идентичными.

Если вы не обновляете базу данных, они будут идентичными.

«Может ли промежуточная среда отключиться для обслуживания?»

Почему нет?

«Может ли промежуточная среда быть используется для тестирования новых функций (например, бета env)? »

Он должен использоваться для этого. Как еще можно сделать обновление?

2
ответ дан 1 December 2019 в 22:08
поделиться

Для меня «постановка» подразумевает, что вы находитесь на грани развертывания в производственной среде, поэтому вам нужна среда, которая максимально точно имитирует производственную среду, чтобы минимизировать любые проблемы, которые могут возникнуть в результате воздействия различных сред. Например, среды разработки и тестирования могут иметь определенные утилиты, которых нет в производственной среде, или производственная среда может иметь более строгие разрешения и аутентификацию, что может вызвать проблемы с вашим приложением.

Таким образом, идеальная промежуточная среда - это та, которая является точным клоном производственной среды (хотя и без общего доступа). Если вы используете виртуализированные серверы, это должно быть почти тривиально. В противном случае среда должна максимально точно имитировать производственную среду (приложение должно быть развернуто по тому же пути, разрешения должны быть идентичными, файлы конфигурации должны быть копиями производственной среды и т. Д.). Чтобы ответить на ваши вопросы:

  • Должен ли веб-сервер находиться на отдельном физическом компьютере, а не база данных? Если это так, то в производственной среде.
  • Должна ли база данных быть в точности идентична производственной база данных? Точная структура, может быть заполнена фиктивными значениями.
  • Может ли промежуточная среда быть отключена для обслуживания? Да.
  • Можно ли использовать промежуточную среду для тестирования новых функций (например, бета env)? Нет, это то, что я бы использовал среда разработки или тестирования для. Промежуточная стадия должна быть для функций, которые будут немедленно запущены в производство (т.е. среда «кандидата на выпуск»).
10
ответ дан 1 December 2019 в 22:08
поделиться
Другие вопросы по тегам:

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