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
Пікірлер
Подскажите пожалуйста, я хочу зарустить свой глобальный сервер с mysql, с php, как это можно сделать?! Где можно почитать!
Свой это на домашнем ПК? Если так, то вам нужен статический IP адрес. Провайдеры интернета предоставляют его за доп плату. Затем регистрируете домен у любого регистратора. Потом его можно добавить на любой бесплатный днс-хостинг (например cloudflare) и в днс-записях прописать ваш статический айпишник и имя домена. При этом у регистратора домена нужно прописать в ns-записях ns-сервера клаудфлера. Потом на свой комп устанавливаете все что нужно для вебсервера
@@danilovcode нет не компьютер, а серверную стойку собираюсь покупать! Там стоит уже Виндовс Сервер (ну вы знаете она не особо отличается), так вот, мне этот сервер нужен для того что я ранее перечислил! IP у меня уже есть, Домен и Поддомен тоже есть! Не могу разобраться, таким же способом устанавливать всё как и вы, или на таких серверах стоят какие то особые утилиты!
С виндовс сервером я вам не подскажу что делать. Я считаю, что ставить надо линукс и на него стандартный стек для вебсервера.
@@danilovcode понял, что входит в стандартный стек? Кстати, обязательно пробрасывать порты? Если кабель изернет подключены на прямую к серверу, без роутера? Может у вас есть полный курс как сделать глобальный сервер, я хотел бы ознакомиться с материалом
Стандартный это apache+php+mysql или nginx+phpfpm+mysql. Вместо mysql может быть mariadb, pgsql и т.д. Вместо php-fpm может быть apache. Вместо nginx любой другой легковесный веб-сервер. В уроке порты пробрасываются в контейнер, это никак не связано с wifi роутером. На своем сервере вы можете не использовать докер, либо посмотреть уроки как делать деплой сервера на докере. Можете почитать еще про оркестрацию. Дело в том что настройки докера для локального сервера для разработки отличаются от продакшена. Рекомендую на проде пока не использовать докер, а для начала изучить получше обычный серверный стек
Просто лучший. Несколько дней изучал Docker. Получил разрозненные знания, который не мог собрать в кучу и запустить сервер с php и БД. Тут же всё разъяснено очень доходчиво. Всё разложено по полочкам. Автору большое спасибо)
Спасибо за отзыв!
Большое спасибо за данное видео! Стало намного понятнее, вы очень хорошо объясняете.
Спасибо за отзыв!
Здравствуйте! Спасибо за урок. Возникла проблема при перебрасывание порта. 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 Подскажите пожалуйста, в чем может быть проблема?
Похоже, что vhost.conf либо не существует, либо это директория а не файл
@@danilovcode у меня такая же проблема на Windows 10, файл есть, а при выполнении команды создается директория
Нужно использовать Windows PowerShell для данной команды а нет Git Bash
super
Не стартует контейнер с базой, вываливает ошибку: [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
Напишите в t.me/danilovcodechat , попробуем разобраться
Так, насчёт команд RUN А если у нас не deb дистрибутив? Прописывать команды установки в зависимости от дистра? Интересно как-то. Получается мы это сможем запустить только на Убунту и подобных дистрах? Или там своя виртуалка в Докере? Тогда в чём цимес контейнеров вообще не ясно
Докер устанавливается на любые linux дистрибутивы и все образы будут одинаково работать. Для винды и мака есть docker desktop с виртуалкой
@@danilovcode Разобрался, всё поднял по вашему уроку и дополнительно пропылесосил документации. Спасибо)
Не понял: нетворк мы пишем в compose и всё? Всё, что делали до этого в консоли с сетью роли не играет? Просто пишем нетворк: нетворк2 и присоединяем все сервисы в одну сеть ив всё?
Да, всё верно. Но можно использовать и сеть созданную в консоли или даже в другом композе, если прописать в текщем композе у нее параметр external: true
@@danilovcode ++
Спасибо, добрый человек, теперь я ОКОНЧАТЕЛЬНО все понял
Я новичок в докере, но по каким я мануалам делал, то никаких сетей не создавал. nginx обращается к php-fpm через имя контейнера и порт. Докер автоматически связывает контейнеры в одну сеть.
Да, докер по-умолчанию помещает контейнеры в дефолтную сеть, если не указать иное
Хороший курс, только возникла ошибка с подгрузкой index.php, в контейнере он есть, и изменения подтягиваются, вот только при попытке перейти на локалхост выдает File not found.
Скиньте скрины в группу телеграм t.me/danilovcodechat - конфига docker compose (либо командную строку которой создаете контейнер) и конфига nginx. Попробуем разобраться
Просто концентрат полезной информации! Огромное спасибо!!!!!!!
Вай, ай, ай...
Спасибо.
Пожалуй самый понятный вводный курс. Отдельное спасибо за чёткое пояснение про CMD и ENTRYPOINT!! Никто не объясняет этот момент. После Вашего пояснения понятно стало в чем разница. Хорошо бы ещё отдельно записать как создавать симлинки в контейнере используя volumes_from. И в целом насколько правильно выносить в отдельный сервис установку composer и создание симлинка в директории (нужен именно симлинк). понятно что можно в контейнере запустить команду но зачем если это можно автоматизировать. PS. окружение - wsl.
Спасибо за отзыв! По симлинкам думаю запишу видео в ближайшем будущем
Отличное видео, отличная подача материала. Спасибо!! Один вопрос только - со всем разобрался и почти все заработало, но нет доступа к phpmyadmin. При вводе localhost:1500 вылезает окошко с надписью о том что надо выбрать приложение для открытия этой ссылки(((
Спасибо за отзыв! Попробуйте вбить localhost:1500 должно сработать. Ваш браузер почему-то слово localhost воспринял как имя протокола (по типу http, ftp). Также, возможно, что вы слово localhost с ошибкой написали.
@@danilovcodeспасибо! Все заработало😊
Продолжение с созданием моделей так и не вышло?( Уроки потрясающее, не забрасывайте 🐸
Всё будет. Не забрасываю, просто небольшой перерыв)
@@danilovcode очень ждем!
Спасибо большое за видео. Если вы получаете ошибку 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
Ошибка говорит о том, что текущая версия 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
@@danilovcode класс 👍
Большое спасибо Вам за это видео, было очень полезно!
Спасибо за отзыв!
спс за урок!
Спс за просмотр!
Хорошее видео, очень познавательно. Спасибо.
Спасибо за отзыв!
Спасибо. Урок хороший, но почему то контейнер с mysql постоянно перезапускается так что даже к терминалу контейнера не получается подключиться 🥲
Спасибо за отзыв! Смотрите логи контейнера. Наверняка какая-то ошибка там
@@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.
Скиньте yml конфиг композа который вы используете и текст этой ошибки в группу телеграм t.me/danilovcodechat, попробуем разобраться
А если я хочу посмотреть фильм как в начале, то что писать если не название фильма?
В случае подобного поиска лучше ориентироваться на запросы которые подбирают для таких сайтов seo-специалисты. Для поиска фильмов нужно писать название, год, HD, и фразу "смотреть онлайн"
Перед годом и словом "смотреть" можно поставить + или взять год и слово в кавычки, чтобы не подбирались похожие слова и фразы
@@danilovcode понял спасибо 👍
Здравствуйте. Сколько бы я не старался, но порт 9000 phpfpm не выдает
Здравствуйте. Что значит не выдает? Что вы делали и что происходит? Есть сообщения об ошибках?
@@danilovcode нет всё запускается. Но порт нужно прописывать в ручную
Очень хорошо всё паказано, спасибо! Скажите пожалуйста, в linux ведь docker можно запустить только из-под root, а у вас в видео вроде обычный пользователь, или вы его сделали рутом?
Докер по-умолчанию запускает контейнеры от рута. Но управление можно осуществлять от любого пользователя, добавленного в группу docker. Просто добавьте вашего пользователя в группу: sudo usermod -aG docker your_username
@@danilovcode Понял, спасибо большое за подробности.
Отличное видео, всё очень понятно и по делу. Но я по крайней мере хоть немного по теме подготовлена, а вот те кто ничего про докер не знает явно должны немного базу подтянуть прежде чем смотреть это видео. Так что большое вам спасибо!
Спасибо за отзыв! Возможно учту этот момент и запишу в будущем видео для совсем новичков
Я так понял что без OSP не обойтись, как-то я сразу с ним не задружил...
У меня фаил загрузчик выглядит совсем не так
Спасибо
Спасибо!
Спасибо, обязательно посмотрю все ваши уроки. Я недавно начал учить PHP. Мне уже много лет но надеюсь, что я еще что-нибудь сварганю. Ютуб только что соизволил выдать ваши видео в поиске...
Главное - жажда знаний и упорство! Надеюсь, у вас все получится. Также подключайтесь к нашей группе в телеграм: t.me/danilovcodechat - если появятся вопросы, там кто-нибудь вам обязательно поможет
А как composer подключить? тоже в services его прописать?
Прописать его установку в Dokerfile. Вот пример kzread.info/dash/bejne/mYp7yMegg6_NYZc.html
Огромное спасибо вам за видео. Как по мне у вас самое лучшее объяснение установки приложения php в Docker . Единственный вопрос : В compose.yml вы не прописываете version "*", это разве не объязательно прописывать?
Спасибо за отзыв! Параметр version считается устаревшим и оставлен для обратной совместимости. При его указании он игнорируется новыми версиями композа и может использоваться в информативных целях, чтобы вы сами знали какой набор возможностей был использован в yml файле. Докер же сам теперь определяет используемый набор возможностей по спецификации, которую можно найти на оф. сайте докера
Просто невероятное видео, полное уважения и взаимопонимания! Голос, подача материала и тд. Респект вам за труд. Это настоящий обмен знаниями. Браво! 🌟
Спасибо за отзыв!
Could not find package yiisoft/yii2-app-advaced with stability stable.
Какой командой запускаете установку yii? Попробуйте по официальной инструкции: www.yiwork.com/extension/yiisoft/yii2-app-advanced/doc/guide/2.0/en/start-installation
Спасибо, отлично, только в конце у меня Welcome to nginx! опять
Скорее всего у вас не сработал volume с конфигом nginx. Проверьте, правильно ли написаны пути
для работьі необходимо подключиться к БД. Покажите как делается. Пока получаем ошибки, хотя миграции проходят. Но иде-шку настроить или mysql-workbench не получается((
Подробнее про докер тут: kzread.info/dash/bejne/g2SD2aeEpNHJgMY.html - здесь мы phpmyadmin добавили в compose. Тут про подключение к mysql из phpstorm: kzread.info/dash/bejne/Z2pnsJieir21aJM.html
Спасибо за видео! Все очень хорошо объясняется.
Красавчик, спасибо!
Спасибо)
Потрясающе! Автору спасибо
Не знаю кого благодарить, за то что я нашел это урок. Но точно благодарю вас, за этот поистине великолепный урок.
Спасибо за отзыв!
Подача материала хорошая, спасибо! Однако, столкнулся с тем, что `docker run` каждый раз создает новый контейнер и перед очередным запуском приходится удалять старый
Спасибо за отзыв! Вы можете добавлять опцию --rm к команде run, тогда остановленный контейнер будет автоматически удаляться. docker run --rm <image>
Отлично.
Ресурсы подключил. Замечательно!
Видео хорошее. Но, уменя не сработало. Ошибка такая же и выходит, как на 3:54. config/main проверен. controller actionError раpмещен, страница 404 и лейаут error созданы. По какой причине может не срабатывать обработчик ошибки?
Соскриньте ошибку и скиньте в группу в телеграм
@@danilovcode Благодарю, всё сработало.
Для тех, кто только подошел, обсуждение и решение тут: t.me/danilovcodechat/1380
Как я понял автор фрейморка называет "Йии", наверное из уважения к автору можно называть так. Когда первый раз увидел название, сразу почему-то назваел его Юи. Чем-то напомнило волосатого из Звездный войн - Чуи. Да и ubuntu, называю Ебунта.... уж долго разбирался с ней в своё время 😁
Огонь 😀
Круто. Фрейморк круто. Благодарю.
Замечательно, идем дальше