Информация о пользователе

Ник: pavel
Страна: Россия
Статус: Активен
С нами с:
13.09.2017 10:13
Лайки
Лайки: +2
Лайки
+2
Дизлайки
0
Я лайкал: +3
Я лайкал
+3
Я дизлайкал
0
Комментарии
Комментировал: 7
Посты
5
Комментарии
2
Ответы: 5
Посты
0
Комментарии
5
Очень простое подтверждение email (верификация) в Laravel 5.4
pavel писал(а):
А если пользователь еще не подтвердил свой email, то как лучше ему выводить об этом сообщение, в случае если он все-так попробует войти на сайт с неподтвержденным адресом? Переопределить метод авторизации и добавить туда проверку на предмет того, активирован пользователь или нет?
Да, это можно сделать в методе входа в аккаунт. Проверяете его логин и пароль и находите, что пользователь зарегистрирован, но аккаунт не активирован, и выводите ему об этом запись. Лично я переделал роут на залогинивание пользователя, и делаю обработку через свой контроллер. В контроллере в методе залогинивания можно проводить проверку, что-то типа такого:
// Check user status.
if (!$auth->status) {
\Session::flash('flash_message_error', 'Ваш аккаунт не активен!');

return redirect($this->redirectTo);
}
При этом можно проверить, активирован он (но был забаннен) или нет.
Как быстро загрузить изменения на продакшн в Laravel
pavel писал(а):
В общем пришлось скопировать webpack.config.js и вставить такую строку Mix.paths.setRootPath( path.resolve(__dirname) ); После этого все заработало.
В принципе, этот баг еще решается путем удаления ноды из шаред папки. Когда нода будет создаваться в новом релизе, то у нее не будет проблем с зависимостями.
Как быстро загрузить изменения на продакшн в Laravel
pavel писал(а):
У вас в данном посте перезагрузка апача закомментирована. У меня почему-то пока не произойдет перезагрузка php-fpm не видно некоторых изменений. Это нормально?
Я апач (или php-fpm) предпочитаю перегружать ручками. Так как если при перезагрузке возникнет ошибка, я сразу смогу это увидеть и быстро среагировать. А при авто перезагрузке пройдет гораздо больше времени на устранение проблемы.
Как быстро загрузить изменения на продакшн в Laravel
pavel писал(а):
Большое спасибо за предыдущий ответ. Но есть еще одно уточнение: вы никогда не пробовали делать тоже самое для последних версий laravel? Там используется webpack. И при этом nodejs ищет необходимый файл в директории shared. Из-за чего возникают неприятности. И если не секрет приходилось ли вам когда-нибудь локально собирать js и css для боевого сервера? https://github.com/JeffreyWay/laravel-mix/issues/533 - Jeffrey пишет, что так многие делают.
Так по сути для gulp и webpack особой разницы нет. Просто в таске для деплоя нужно заменить команду gulp production на npm run production Так как изменился принцип сборки скриптов, и соответственно и команды тоже. Под 5.5 версию у меня все летит без проблем. Собирать скрипты на локалке можно, но это тогда мешает полной автоматизации процесса деплоя. Я так не делаю, так как стараюсь все по максимуму автоматизировать. А когда нужно что-то делать ручками, то обязательно можно где-то накосячить ИМХО.

И при этом nodejs ищет необходимый файл в директории shared
Все что лежит в директории shared  имеет линки в оригинальной папке проекта. Если загляните в папку current, (которая тоже является линком на нужный релиз) то вы увидите, что там лежит и файл настроек и папка с нодой (благодаря ссылкам). Поэтому не важно что и где хранится. Все должно работать.

Да, в таски также нужно прописать задачу для composer update. Если не получится, то пишите, помогу с конфигом.


Как быстро загрузить изменения на продакшн в Laravel
pavel wrote:
Большое спасибо за статью. Есть уточняющий вопрос: как думаете, нормально ли по-вашему первый раз вручную перекидывать папки vendors и node_modules? Просто у меня все время с этим проблема возникает: то модули npm сразу не ставятся, нужно дополнительные команды запускать, чтобы все заработало. Или это неверный подход?
Здравствуйте. Не стоит вручную копировать папки. Для вендора есть файл композера, он сам все прекрасно установит. А вот для npm придется слегка подготовить ноду. Иногда при установке npm она будет ругаться на некоторые старые пакеты. Их стоило бы обновить один раз на сервере и все. Хотя некоторые делают проще и устанавливают при инсталляции npm флаг игнорирования ошибок.