Vadim
Понадобилось поставить сайт на yii2 на обычный shared-хостинг. Там нельзя указать, чтобы nginx смотрел /web/ Можно как-то решить этот вопрос?
Dmitriy
перенести индекс и заменить пути
The Ant
через апач наверное )
The Ant
хтакцессом редиректнуть в нужную директорию
The Ant
тебе вообще нельзя в конфиг нгинкса чтоль?
The Ant
шаред хостинг без апача... какой-то крутой шаред хостинг )
Vadim
Я удивлен, что там композер стоит
The Ant
ну поставь куда там нада индекс пхп и перепиши пути да и все
Vadim
шаред хостинг без апача... какой-то крутой шаред хостинг )
Да уж лучше бы апач стоял, я конфиги для него сделал. Потом посмотрел, что его и нет :(
The Ant
вообще не важно ж откуда запустишь индекс
Dmitriy
А css, js, assets?
ну все перенести нужно да
Vadim
блин…
The Ant
так-то можно 1 вендор на пачку сайтов. конфиги ток разные подцепляй и все
Good
Понадобилось поставить сайт на yii2 на обычный shared-хостинг. Там нельзя указать, чтобы nginx смотрел /web/ Можно как-то решить этот вопрос?
Я на шареде такое дело решал через симлинки на директории. Скажем, по правилах хостинга вебрут домена должен лежать в /www/domain.com Делаем папку /www/domain.com.files (например), в него кладем сайт, а вместо папки /www/domain.com - симлинк с таким же названием, который указывает на /www/domain.com.files/web. Таким образом, сервер смотрит в вебрут нашего сайта по дефолтному адресу
Good
Просто и без танцев с бубнами и конфигами
Good
Должно работать
Good
Э, а чего карма не выросла?(
Good
так-то можно 1 вендор на пачку сайтов. конфиги ток разные подцепляй и все
Можно, но мне кажется, так лутше не делать. Например, если у разных сайтов разные версии расширения, что тогда?
The Ant
хз )
Good
Ну вот. Профитов никаких, по сути, кроме экономии места на диске, да и то, копеечного
Good
Или, допустим, обновили в одном сайте композер, а в другом - нет, и тогда композер.лок будет неактуальным, отсюда другие геморрои.
Good
А как посмотреть, кстати, карму свою?)
The Ant
Ну вот. Профитов никаких, по сути, кроме экономии места на диске, да и то, копеечного
да я так. индекс в любую папку положить можно, пути прописать правильные и в композере автозагрузку сделать куда надо и все.
Good
Вобщем да, но с точки зрения безопастности нельзя, чтоб в веб-корне лежало что-нибуть, что не может быть доступно через браузер
(;¬_¬)
Народ, как тестировать очереди рассылки емейлов? чтоб с $I->seeEmailIsSent() в тестконфиге поставил что очередь синхронная. а в тестовом мейлере сообщения не появляются
Vadim
Блин.. Вроде настроил и смотрит куда надо, но отдает 500 ошибку вообще без какой-либо информации…
Vadim
Блин, может vps взять пока не поздно..
Good
Блин.. Вроде настроил и смотрит куда надо, но отдает 500 ошибку вообще без какой-либо информации…
Так как хостинг шаред, можно смело задалбывать поддержу такими вопросами
Good
В шареде тоже есть плюсы - не нужно парится настройкой сервера и его стабильностю
Vadim
В шареде тоже есть плюсы - не нужно парится настройкой сервера и его стабильностю
Да как только что-то сложнее wordpress, сразу миллион проблем
Good
Если на шареде есть (или можно установить) композер и гит, допустим, так простенькое всякое можно держать, как по мне
Vadim
у меня такие задачи бывают раз в год и просто ступор
Vadim
каждый раз
Good
Пиши в поддержку, почему симлинк прописал, а оно не работает. Должно работать
Good
Чего-то Yii::$app->formatter->asParagraphs() как-то странно работает - если два переноса строки, то форматирует в параграфы, если один - нифига не добавляет. Так и должно быть?
Good
Кстати, возвращаясь к вопросу о прокидании параметра модели для связи, решил очень просто: В классе модуля при инициализации через контейнер его просто присваиваю, и все, больше не нужно ничего делать ни в контроллере, ни в классе ActiveQuery: Yii::$container->set('app\modules\studios\models\Firm', ['userModel' => $this->userModel]); Мне кажется, лутше не придумать уже
Good
Соответственно, в самой модели только свойство public $userModel; и связь, как раньше: public function getAdministrators() { return $this->hasMany($this->userModel, ['id' => 'user_id']) ->viaTable('{{%std_firms_administrators}}', ['firm_id' => 'id']); }
Good
Таким образом, чтоб передать зависимость для связи с внешней моделью, нужно: 1. прописать свойство в классе модуля 2. в конфиге модуля передать строку с классом внешней модели 3. в методе модуля init() проверить ее на предмет соответствий интерфейсам и т. д. 4 там же - через контейнер внедрить это зачение в соответствующую модель модуля, в которой необходимо использовать связь, а в самой модели сделать такое же свойство. И использовать его уже при обьявлении связи
Good
Соответственно: Модель не обращается ни к каким внешним компонентам, в том числе и к своему модулю, а просто имеет в себе свойство, которое использует для создания связи. Все другие действия совершаются только в основном классе модуля, куда передается актуальный класс внешней модели через конфиг. Таким образом, можно в любое время заменить его на другой, который реализует интерфейс для этого класса
Good
То есть, сам модуль максимально отвязан как от другого модуля, так и от собственного идентификатора (который приходилось использовать раньше в тексте модели, чтоб взять свойство через Yii::$app->getModule()->userModel
Руслан 🇲🇨
Пожалуйста подскажите работающий пример регистрации пользователей на yii2. Спасибо.
Rich
yii2-app-advanced
Alexey
который можно юзать для создания связей
Good
намесил чет, есть Yii::$app->user->identityClass
Да, но в общем случае такого нету
Good
Если нужно делать связь не с юзерами
Good
А просто с моделью из другого модуля
Alexey
а так да
Alexey
но проще в конфиге модуля задать маппинги
Alexey
без контейнера
Дмитрий
ребят, привет, снова вопрос по yii2-queue, чот не могу понять как сделать чтобы задача выполнялась, например, каждую минуту?
Дмитрий
использовать crontab?
Дмитрий
ну значит крон всё-таки придётся заюзать
Дмитрий
а что юи предоставляет свой брокер очередей? или просто обертка для работы с кроликами и прочими?
Erzhigit
как сделать в phpshtorm снизу прокрутка не было
Erzhigit
что бы с длиный строкий не было
Erzhigit
http://joxi.ru/82QZDO0hjO9dvA
Спасибо! 👍
Vladislav
Всем привет. Глупый вопрос, но никто не подскажет где находиться класс с метдодом Model::createMultiple() в advanced версии Yii?
Vladislav
а ну да я дурак, извините =D
Denis
А у нас только одна русскоязычная группа по Yii? Ну тоесть может есть группа для совсем нубов?
Дмитрий
А это что
Denis
Я вот хочу бесшовно авторизовать пользователя по ldap. Мне в каждом контроллере вызывать проверку? А есть вариант тксзть изящнее? Например, что то вроде afterrun событие и в нем создавать сессию на основе авторизации по ldap? Ну или не создавать. Если что-то пошло не так
Denis
Ааа. Так так. Пошел чиьатьг
Alexey
есть identity interface, его юзай
Дмитрий
есть identity interface, его юзай
User имплементирует данный интерфейс
Alexey
да, только юзер прибит к базе активрекордом