КАК ПРАВИЛЬНО НАСТРОИТЬ PHPSTORM В СВЯЗКЕ С VAGRANT? - айтишники, программисты помогите
Установил вагрант, установил ubuntu, установил nginx и php, создал виртуальный домен mytestdomen.test, который наверно минут 40 нихуя не работал и потом волшебным образом заработал. PHP код в нем выполняется. Пробросил 80 порт на локальную машину, сделал общей папку /var/www/ - это для того, чтобы можно было кодить прямо из локальной машины и видеть результаты работы в браузере под человеческим урлом без указания порта. Затем, естественно, захотелось установить IDE и начать программировать как полагается. Установил PHPSTORM, и понеслась:
File->Settings->Languages&Frameworks->PHP - там подключил PHP интерпретатор через вагрант. PHP код выполняется, но как я понял, он выдает ответ скрипта в терминале, я хз как вести разработку на одной этой хуйне. Там же на вкладке Servers добавил свой виртуальный домен mytestdomen.test
Затем Tools->Deployment->Configuration, там добавил доступ по SFTP к вагранту. Соединение успешное. Еще добавил вагрант в панель терминала, ну и гит тоже.
Затем добавил свой домен mytestdomen.test в Run->Configuration.
Дальше я создавал проекты с одним файлом index.php, запускал команду Run, браузер открывался по какому-то адресу типа http://localhost:62344/?tj=hfue8hf8erhf8uhruf, и в итоге нихуя. Типа не найдено. И вот как, блять, кодить? Я два месяца шел к этому моменту, читал книги, еще ни одной строчки не написал, а тут такая засада.
В итоге я просто создаю проект в расшаренной папке /var/www/mytestdomen.test/html и дальше смотрю результат выполнения кода в браузере, но чувствую, что так как-то неправильно. Кто подскажет?
>>239275584 Да потому что вагрант кусок кала, с докером все настраивается в два клика Загугли docker-compose.yml с нужным тебе софтом, потом делаешь docker-compose up в папке с этим файлом и все работает. Из ide остаётся только выбрать docker-compose.yml файл и php-fpm из списка, чтобы подхватился интерпретатор. А код пробрасывается из папки, в которой ты сам и работаешь, вообще не нужно думать ни о каких sftp, синхронизации и прочем
>>239275821 Разве что в каких-нибудь говновебстудиях, где до сих пор и пыху используют, и фтп для деплоя. Ещё один плюс докера в том, что его можно использовать сразу как для разработки, так и для прода, буквально один и тот же конфиг с разными env-переменными, поэтому классический пайплайн разработки сейчас выглядит так: разработчик работает у себя в докер-образах из конфига -> пушит код в гит -> ci собирает докер-образы из конфига в гите и раскатывает на сервера. Как видишь, вагранту тут места просто нет, а у разработчика и на серверах практически идентичное окружение
>>239276066 >где до сих пор и пыху используют А шо, ее уже не используют? Вроде вакансий много.
>>239276066 >Ещё один плюс докера в том, что его можно использовать сразу как для разработки, так и для прода Оке, завтра поставлю докер. Если из-под винды, то тоже норм будет? Как там вообще с созданием виртуальных доменов? Как под каждый проект создавать их на лету? Или есть какой-то другой способ для просмотра результатов в браузере?
>>239276132 В docker-compose прописывает себе php, nginx, mysql чё там тебе ещё надо. Nginx говоришь слушать снаружи 80 порт, внутрь на пыху проксить. В локальном файле хостов пишешь moygovno.site 127.0.0.1. Примеров как написать docker-compose для nginx+php+mysql миллион в интернетах.
>>239276132 > >где до сих пор и пыху используют > А шо, ее уже не используют? Вроде вакансий много. Вакансий много, но подавляющее использование пыхи - это говноцмс и саппорт легаси, готовься быстро штамповать однотипный кал и писать на 5 версии, короче. Какие-то нормальные проекты на пыхе мало кто уже начинает, относительно других языков. Нишу хуяк-хуяк плотно заняли python/nodejs во многом потому что на пыхе очень сложно делать риалтайм, а он сейчас практически везде нужен, сложные-большие энтерпрайзы делаются на java/c# > >Ещё один плюс докера в том, что его можно использовать сразу как для разработки, так и для прода > Оке, завтра поставлю докер. Если из-под винды, то тоже норм будет? Советую поставить убунту в дуалбут, если новичок, на ней будет гораздо проще гуглить проблемы и многих проблем на ней не будет, которые будут на винде например, на винде очень кривой маппинг директорий и волюмы, да и если не в wsl запускать будет работать целая реальная виртуалка > Как там вообще с созданием виртуальных доменов? Как под каждый проект создавать их на лету? Или есть какой-то другой способ для просмотра результатов в браузере? Этот вопрос не относится к докеру. Можешь поднять локальный nginx и добавлять туда домены проектов, можешь прописывать домены в hosts файле, можешь поднять свой днс и ещё миллион разных вариантов
>>239276539 >Советую поставить убунту в дуалбут Уже.
>>239276539 >Этот вопрос не относится к докеру. Можешь поднять локальный nginx и добавлять туда домены проектов, можешь прописывать домены в hosts файле Так, я не понял, а докер тогда зачем? Чет на ночь глядя у меня уже голова не соображает. Я тут настраивал-перенастраивал все и уже перестал что-то понимать
>>239276582 Докер у тебя занимается тем, что скачивает и запускает весь нужный для проекта софт, вебсервер/пхп/базу/всечтоугодно. И в каждом проекте у тебя свой docker-compose.yml, в котором весь этот софт, нужный для запуска проекта, прописан. Грубо говоря, ты кинул другому разработчику проект с docker-compose.yml и все, что ему нужно, чтобы запустить твой проект - это написать в папке с ним docker-compose up
>>239276771 Так, для запуска понятно. А для разработки? Неужели после каждого изменения надо набирать docker-compose up? Или перед редактированием проекта один раз набираешь эту команду и редактируешь?
>>239276803 Нет, ты один раз запускаешь и все это работает без остановки, пока не напишешь docker-compose stop в этой же папке. А с помощью volumes в docker-compose.yml у тебя в софт пробрасывается директория, с которой ты работаешь, и твои изменения сразу попадают в запущенный контейнер без каких-либо дополнительных действий. Грубо говоря, в случае с пхп, сделал изменение в файле, обновил страничку и оно уже отображено
>>239276884 Спасибо за подробные объяснения, анон. Завтра докер поставлю. Буду экспериментировать. А то все никак до написания кода не дойду. Вагрант, значит, удалять?
>>239277108 У меня хобби такое, ковыряться во всяких айти штуках. Про существование докера я знал, а подробностей нет. Тут вот подчерпнул кое какие подробности.