DanilovCode - Уроки PHP, Yii2

DanilovCode - Уроки PHP, Yii2

Привет! Я Андрей, программист с опытом работы более 15 лет. На моем канале Вы найдете видеоуроки по созданию веб-приложений. Здесь вы узнаете как создать сайт любой сложности, получить или усовершенствовать навыки программирования на PHP и работы с фреймворком Yii2. Мы подробно разберем как создаются интернет-проекты, как делать сайты быстро и не затрачивать на это больших усилий.

Обсуждение и вопросы в группе: t.me/danilovcodechat
Канал с новостями: t.me/danilovcode

Поддержать канал:
YooMoney: yoomoney.ru/to/41001322477432
Paypal: paypal.me/andrewdanilov
Patreon: www.patreon.com/andrewdanilov

Пікірлер

  • @Demimur186
    @Demimur186Күн бұрын

    Подскажите пожалуйста, я хочу зарустить свой глобальный сервер с mysql, с php, как это можно сделать?! Где можно почитать!

  • @danilovcode
    @danilovcode17 сағат бұрын

    Свой это на домашнем ПК? Если так, то вам нужен статический IP адрес. Провайдеры интернета предоставляют его за доп плату. Затем регистрируете домен у любого регистратора. Потом его можно добавить на любой бесплатный днс-хостинг (например cloudflare) и в днс-записях прописать ваш статический айпишник и имя домена. При этом у регистратора домена нужно прописать в ns-записях ns-сервера клаудфлера. Потом на свой комп устанавливаете все что нужно для вебсервера

  • @Demimur186
    @Demimur1869 сағат бұрын

    @@danilovcode нет не компьютер, а серверную стойку собираюсь покупать! Там стоит уже Виндовс Сервер (ну вы знаете она не особо отличается), так вот, мне этот сервер нужен для того что я ранее перечислил! IP у меня уже есть, Домен и Поддомен тоже есть! Не могу разобраться, таким же способом устанавливать всё как и вы, или на таких серверах стоят какие то особые утилиты!

  • @danilovcode
    @danilovcode8 сағат бұрын

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

  • @Demimur186
    @Demimur1867 сағат бұрын

    @@danilovcode понял, что входит в стандартный стек? Кстати, обязательно пробрасывать порты? Если кабель изернет подключены на прямую к серверу, без роутера? Может у вас есть полный курс как сделать глобальный сервер, я хотел бы ознакомиться с материалом

  • @danilovcode
    @danilovcode6 сағат бұрын

    Стандартный это apache+php+mysql или nginx+phpfpm+mysql. Вместо mysql может быть mariadb, pgsql и т.д. Вместо php-fpm может быть apache. Вместо nginx любой другой легковесный веб-сервер. В уроке порты пробрасываются в контейнер, это никак не связано с wifi роутером. На своем сервере вы можете не использовать докер, либо посмотреть уроки как делать деплой сервера на докере. Можете почитать еще про оркестрацию. Дело в том что настройки докера для локального сервера для разработки отличаются от продакшена. Рекомендую на проде пока не использовать докер, а для начала изучить получше обычный серверный стек

  • @TeddyBearPlay
    @TeddyBearPlay2 күн бұрын

    Просто лучший. Несколько дней изучал Docker. Получил разрозненные знания, который не мог собрать в кучу и запустить сервер с php и БД. Тут же всё разъяснено очень доходчиво. Всё разложено по полочкам. Автору большое спасибо)

  • @danilovcode
    @danilovcode2 күн бұрын

    Спасибо за отзыв!

  • @user-mg7nx2dy6b
    @user-mg7nx2dy6b5 күн бұрын

    Большое спасибо за данное видео! Стало намного понятнее, вы очень хорошо объясняете.

  • @danilovcode
    @danilovcode5 күн бұрын

    Спасибо за отзыв!

  • @user-vw4uj5zu1e
    @user-vw4uj5zu1e18 күн бұрын

    Здравствуйте! Спасибо за урок. Возникла проблема при перебрасывание порта. docker: Error response from daemon: source /var/lib/docker/overlay2/bccacc2b865a27b2edf088677742e2686a835bec6ae4671d9e99e3331a0d080f/merged/etc/nginx/conf.d/default.conf is not directory. Введенный запрос: docker run -d -p 80:80 -v ./vhost.conf:/etc/nginx/conf.d/default.conf nginx Подскажите пожалуйста, в чем может быть проблема?

  • @danilovcode
    @danilovcode18 күн бұрын

    Похоже, что vhost.conf либо не существует, либо это директория а не файл

  • @andruxanik7769
    @andruxanik776917 күн бұрын

    @@danilovcode у меня такая же проблема на Windows 10, файл есть, а при выполнении команды создается директория

  • @andruxanik7769
    @andruxanik776917 күн бұрын

    Нужно использовать Windows PowerShell для данной команды а нет Git Bash

  • @samvelkarapetyan5647
    @samvelkarapetyan5647Ай бұрын

    super

  • @user-zt3zw1pv5x
    @user-zt3zw1pv5xАй бұрын

    Не стартует контейнер с базой, вываливает ошибку: [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

  • @danilovcode
    @danilovcodeАй бұрын

    Напишите в t.me/danilovcodechat , попробуем разобраться

  • @user-zt3zw1pv5x
    @user-zt3zw1pv5xАй бұрын

    Так, насчёт команд RUN А если у нас не deb дистрибутив? Прописывать команды установки в зависимости от дистра? Интересно как-то. Получается мы это сможем запустить только на Убунту и подобных дистрах? Или там своя виртуалка в Докере? Тогда в чём цимес контейнеров вообще не ясно

  • @danilovcode
    @danilovcodeАй бұрын

    Докер устанавливается на любые linux дистрибутивы и все образы будут одинаково работать. Для винды и мака есть docker desktop с виртуалкой

  • @user-zt3zw1pv5x
    @user-zt3zw1pv5xАй бұрын

    @@danilovcode Разобрался, всё поднял по вашему уроку и дополнительно пропылесосил документации. Спасибо)

  • @Olegcowboyoleg
    @Olegcowboyoleg2 ай бұрын

    Не понял: нетворк мы пишем в compose и всё? Всё, что делали до этого в консоли с сетью роли не играет? Просто пишем нетворк: нетворк2 и присоединяем все сервисы в одну сеть ив всё?

  • @danilovcode
    @danilovcode2 ай бұрын

    Да, всё верно. Но можно использовать и сеть созданную в консоли или даже в другом композе, если прописать в текщем композе у нее параметр external: true

  • @Olegcowboyoleg
    @Olegcowboyoleg2 ай бұрын

    @@danilovcode ++

  • @zakirovdamir
    @zakirovdamir2 ай бұрын

    Спасибо, добрый человек, теперь я ОКОНЧАТЕЛЬНО все понял

  • @snikitin32
    @snikitin322 ай бұрын

    Я новичок в докере, но по каким я мануалам делал, то никаких сетей не создавал. nginx обращается к php-fpm через имя контейнера и порт. Докер автоматически связывает контейнеры в одну сеть.

  • @danilovcode
    @danilovcode2 ай бұрын

    Да, докер по-умолчанию помещает контейнеры в дефолтную сеть, если не указать иное

  • @renatk.3829
    @renatk.38292 ай бұрын

    Хороший курс, только возникла ошибка с подгрузкой index.php, в контейнере он есть, и изменения подтягиваются, вот только при попытке перейти на локалхост выдает File not found.

  • @danilovcode
    @danilovcode2 ай бұрын

    Скиньте скрины в группу телеграм t.me/danilovcodechat - конфига docker compose (либо командную строку которой создаете контейнер) и конфига nginx. Попробуем разобраться

  • @donlinoleum831
    @donlinoleum8312 ай бұрын

    Просто концентрат полезной информации! Огромное спасибо!!!!!!!

  • @semyonevdokimov157
    @semyonevdokimov1572 ай бұрын

    Вай, ай, ай...

  • @semyonevdokimov157
    @semyonevdokimov1572 ай бұрын

    Спасибо.

  • @akellaweb
    @akellaweb2 ай бұрын

    Пожалуй самый понятный вводный курс. Отдельное спасибо за чёткое пояснение про CMD и ENTRYPOINT!! Никто не объясняет этот момент. После Вашего пояснения понятно стало в чем разница. Хорошо бы ещё отдельно записать как создавать симлинки в контейнере используя volumes_from. И в целом насколько правильно выносить в отдельный сервис установку composer и создание симлинка в директории (нужен именно симлинк). понятно что можно в контейнере запустить команду но зачем если это можно автоматизировать. PS. окружение - wsl.

  • @danilovcode
    @danilovcode2 ай бұрын

    Спасибо за отзыв! По симлинкам думаю запишу видео в ближайшем будущем

  • @simonabrosimov18
    @simonabrosimov183 ай бұрын

    Отличное видео, отличная подача материала. Спасибо!! Один вопрос только - со всем разобрался и почти все заработало, но нет доступа к phpmyadmin. При вводе localhost:1500 вылезает окошко с надписью о том что надо выбрать приложение для открытия этой ссылки(((

  • @danilovcode
    @danilovcode3 ай бұрын

    Спасибо за отзыв! Попробуйте вбить localhost:1500 должно сработать. Ваш браузер почему-то слово localhost воспринял как имя протокола (по типу http, ftp). Также, возможно, что вы слово localhost с ошибкой написали.

  • @simonabrosimov18
    @simonabrosimov183 ай бұрын

    @@danilovcodeспасибо! Все заработало😊

  • @artemnaumov3577
    @artemnaumov35773 ай бұрын

    Продолжение с созданием моделей так и не вышло?( Уроки потрясающее, не забрасывайте 🐸

  • @danilovcode
    @danilovcode3 ай бұрын

    Всё будет. Не забрасываю, просто небольшой перерыв)

  • @artemnaumov3577
    @artemnaumov35773 ай бұрын

    @@danilovcode очень ждем!

  • @Edvard-Aliev
    @Edvard-Aliev3 ай бұрын

    Спасибо большое за видео. Если вы получаете ошибку docker Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.2.0" даже после того как composer.lock обновили до 8.2 то можете проигнорировать это сообщение через composer --ignore-platform-req=php update

  • @danilovcode
    @danilovcode3 ай бұрын

    Ошибка говорит о том, что текущая версия PHP ниже необходимой, а не наоборот. Поэтому ignore-platform-req убирает ошибку, но не решает проблему. Нужно поправить вручную докерфайл frontend/Dockerfile и backend/Dockerfile - в первой строчке заменить версию php с 8.1 на 8.2: FROM yiisoftware/yii2-php:8.2-apache А затем перезапустить комоуз с опцией --build: docker compose up -d --build

  • @Edvard-Aliev
    @Edvard-Aliev3 ай бұрын

    @@danilovcode класс 👍

  • @MrFlagman777
    @MrFlagman7773 ай бұрын

    Большое спасибо Вам за это видео, было очень полезно!

  • @danilovcode
    @danilovcode3 ай бұрын

    Спасибо за отзыв!

  • @sayces
    @sayces3 ай бұрын

    спс за урок!

  • @danilovcode
    @danilovcode3 ай бұрын

    Спс за просмотр!

  • @blackbirdalternativedevelo1068
    @blackbirdalternativedevelo10683 ай бұрын

    Хорошее видео, очень познавательно. Спасибо.

  • @danilovcode
    @danilovcode3 ай бұрын

    Спасибо за отзыв!

  • @user-qc2zt8eo6s
    @user-qc2zt8eo6s3 ай бұрын

    Спасибо. Урок хороший, но почему то контейнер с mysql постоянно перезапускается так что даже к терминалу контейнера не получается подключиться 🥲

  • @danilovcode
    @danilovcode3 ай бұрын

    Спасибо за отзыв! Смотрите логи контейнера. Наверняка какая-то ошибка там

  • @user-qc2zt8eo6s
    @user-qc2zt8eo6s3 ай бұрын

    @@danilovcodeСпасибо за ответ. Получилось посмотреть логи и тут такая ошибка: [InnoDB] Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files. [InnoDB] Plugin initialization aborted with error Generic error.

  • @danilovcode
    @danilovcode3 ай бұрын

    Скиньте yml конфиг композа который вы используете и текст этой ошибки в группу телеграм t.me/danilovcodechat, попробуем разобраться

  • @Zurabov_15
    @Zurabov_154 ай бұрын

    А если я хочу посмотреть фильм как в начале, то что писать если не название фильма?

  • @danilovcode
    @danilovcode4 ай бұрын

    В случае подобного поиска лучше ориентироваться на запросы которые подбирают для таких сайтов seo-специалисты. Для поиска фильмов нужно писать название, год, HD, и фразу "смотреть онлайн"

  • @danilovcode
    @danilovcode4 ай бұрын

    Перед годом и словом "смотреть" можно поставить + или взять год и слово в кавычки, чтобы не подбирались похожие слова и фразы

  • @Zurabov_15
    @Zurabov_154 ай бұрын

    @@danilovcode понял спасибо 👍

  • @ruslanhamidulin8668
    @ruslanhamidulin86684 ай бұрын

    Здравствуйте. Сколько бы я не старался, но порт 9000 phpfpm не выдает

  • @danilovcode
    @danilovcode4 ай бұрын

    Здравствуйте. Что значит не выдает? Что вы делали и что происходит? Есть сообщения об ошибках?

  • @ruslanhamidulin8668
    @ruslanhamidulin86684 ай бұрын

    @@danilovcode нет всё запускается. Но порт нужно прописывать в ручную

  • @inndim
    @inndim4 ай бұрын

    Очень хорошо всё паказано, спасибо! Скажите пожалуйста, в linux ведь docker можно запустить только из-под root, а у вас в видео вроде обычный пользователь, или вы его сделали рутом?

  • @danilovcode
    @danilovcode4 ай бұрын

    Докер по-умолчанию запускает контейнеры от рута. Но управление можно осуществлять от любого пользователя, добавленного в группу docker. Просто добавьте вашего пользователя в группу: sudo usermod -aG docker your_username

  • @inndim
    @inndim4 ай бұрын

    @@danilovcode Понял, спасибо большое за подробности.

  • @inna_raznaya
    @inna_raznaya4 ай бұрын

    Отличное видео, всё очень понятно и по делу. Но я по крайней мере хоть немного по теме подготовлена, а вот те кто ничего про докер не знает явно должны немного базу подтянуть прежде чем смотреть это видео. Так что большое вам спасибо!

  • @danilovcode
    @danilovcode4 ай бұрын

    Спасибо за отзыв! Возможно учту этот момент и запишу в будущем видео для совсем новичков

  • @PPShow387
    @PPShow3874 ай бұрын

    Я так понял что без OSP не обойтись, как-то я сразу с ним не задружил...

  • @PPShow387
    @PPShow3874 ай бұрын

    У меня фаил загрузчик выглядит совсем не так

  • @PPShow387
    @PPShow3874 ай бұрын

    Спасибо

  • @PPShow387
    @PPShow3874 ай бұрын

    Спасибо!

  • @PPShow387
    @PPShow3874 ай бұрын

    Спасибо, обязательно посмотрю все ваши уроки. Я недавно начал учить PHP. Мне уже много лет но надеюсь, что я еще что-нибудь сварганю. Ютуб только что соизволил выдать ваши видео в поиске...

  • @danilovcode
    @danilovcode4 ай бұрын

    Главное - жажда знаний и упорство! Надеюсь, у вас все получится. Также подключайтесь к нашей группе в телеграм: t.me/danilovcodechat - если появятся вопросы, там кто-нибудь вам обязательно поможет

  • @paldeflex
    @paldeflex4 ай бұрын

    А как composer подключить? тоже в services его прописать?

  • @danilovcode
    @danilovcode4 ай бұрын

    Прописать его установку в Dokerfile. Вот пример kzread.info/dash/bejne/mYp7yMegg6_NYZc.html

  • @mixdevuz
    @mixdevuz4 ай бұрын

    Огромное спасибо вам за видео. Как по мне у вас самое лучшее объяснение установки приложения php в Docker . Единственный вопрос : В compose.yml вы не прописываете version "*", это разве не объязательно прописывать?

  • @danilovcode
    @danilovcode4 ай бұрын

    Спасибо за отзыв! Параметр version считается устаревшим и оставлен для обратной совместимости. При его указании он игнорируется новыми версиями композа и может использоваться в информативных целях, чтобы вы сами знали какой набор возможностей был использован в yml файле. Докер же сам теперь определяет используемый набор возможностей по спецификации, которую можно найти на оф. сайте докера

  • @lipetskdom
    @lipetskdom4 ай бұрын

    Просто невероятное видео, полное уважения и взаимопонимания! Голос, подача материала и тд. Респект вам за труд. Это настоящий обмен знаниями. Браво! 🌟

  • @danilovcode
    @danilovcode4 ай бұрын

    Спасибо за отзыв!

  • @user-yb4fd7uy2e
    @user-yb4fd7uy2e4 ай бұрын

    Could not find package yiisoft/yii2-app-advaced with stability stable.

  • @danilovcode
    @danilovcode4 ай бұрын

    Какой командой запускаете установку yii? Попробуйте по официальной инструкции: www.yiwork.com/extension/yiisoft/yii2-app-advanced/doc/guide/2.0/en/start-installation

  • @alexdreamer11
    @alexdreamer114 ай бұрын

    Спасибо, отлично, только в конце у меня Welcome to nginx! опять

  • @danilovcode
    @danilovcode4 ай бұрын

    Скорее всего у вас не сработал volume с конфигом nginx. Проверьте, правильно ли написаны пути

  • @mailforigo
    @mailforigo4 ай бұрын

    для работьі необходимо подключиться к БД. Покажите как делается. Пока получаем ошибки, хотя миграции проходят. Но иде-шку настроить или mysql-workbench не получается((

  • @danilovcode
    @danilovcode4 ай бұрын

    Подробнее про докер тут: kzread.info/dash/bejne/g2SD2aeEpNHJgMY.html - здесь мы phpmyadmin добавили в compose. Тут про подключение к mysql из phpstorm: kzread.info/dash/bejne/Z2pnsJieir21aJM.html

  • @sergeymarchenko4204
    @sergeymarchenko42045 ай бұрын

    Спасибо за видео! Все очень хорошо объясняется.

  • @Sergei_Slv
    @Sergei_Slv5 ай бұрын

    Красавчик, спасибо!

  • @manzadey
    @manzadey5 ай бұрын

    Спасибо)

  • @nedelaet
    @nedelaet5 ай бұрын

    Потрясающе! Автору спасибо

  • @far_from_under
    @far_from_under5 ай бұрын

    Не знаю кого благодарить, за то что я нашел это урок. Но точно благодарю вас, за этот поистине великолепный урок.

  • @danilovcode
    @danilovcode5 ай бұрын

    Спасибо за отзыв!

  • @user-sk1rh7yh7n
    @user-sk1rh7yh7n6 ай бұрын

    Подача материала хорошая, спасибо! Однако, столкнулся с тем, что `docker run` каждый раз создает новый контейнер и перед очередным запуском приходится удалять старый

  • @danilovcode
    @danilovcode6 ай бұрын

    Спасибо за отзыв! Вы можете добавлять опцию --rm к команде run, тогда остановленный контейнер будет автоматически удаляться. docker run --rm <image>

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Отлично.

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Ресурсы подключил. Замечательно!

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Видео хорошее. Но, уменя не сработало. Ошибка такая же и выходит, как на 3:54. config/main проверен. controller actionError раpмещен, страница 404 и лейаут error созданы. По какой причине может не срабатывать обработчик ошибки?

  • @danilovcode
    @danilovcode6 ай бұрын

    Соскриньте ошибку и скиньте в группу в телеграм

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    @@danilovcode Благодарю, всё сработало.

  • @danilovcode
    @danilovcode6 ай бұрын

    Для тех, кто только подошел, обсуждение и решение тут: t.me/danilovcodechat/1380

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Как я понял автор фрейморка называет "Йии", наверное из уважения к автору можно называть так. Когда первый раз увидел название, сразу почему-то назваел его Юи. Чем-то напомнило волосатого из Звездный войн - Чуи. Да и ubuntu, называю Ебунта.... уж долго разбирался с ней в своё время 😁

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Огонь 😀

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Круто. Фрейморк круто. Благодарю.

  • @user-mi5jm4hj6h
    @user-mi5jm4hj6h6 ай бұрын

    Замечательно, идем дальше