Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 30.11.2016 11:40:59

база данных по-умолчанию

Добрый день.

На одном сервер (wamp), крутиться два проекта.
1. Использует локальную mysql (по умолчанию)
2. Использует разные серверные базы: MS SQL (по умолчанию), Oracle.

В какой-то момент, когда работают с проектом2, при открытии проекта1, ругается что в базе MS SQL не найдены такие-то таблицы, что естественно их там нет, ведь открывается проект1.
Через какое-то время проект1 начинает работать.

Проекты доступны из разных рабочих мест: проект2 глобально, проект1 только локально.

Не понять почему так происходит?

Не в сети

#2 30.11.2016 12:44:00

Re: база данных по-умолчанию

потому что перед программированием надо лет 5-10 поадминистрировать. это во первых.
во вторых поставь гипервизор.

Не в сети

#3 30.11.2016 16:21:32

Re: база данных по-умолчанию

Два разных экземпляра ларавел, разные настройки соединений, переменных. Всё разное, не пересекается.
Почему проект2 мешает проект1? Особенности ларавел что кеширует подключения где-то?

Не в сети

#4 30.11.2016 16:21:59

Re: база данных по-умолчанию

гипервизор тут не причём. нигде не написано что нельзя запускать несколько приложений на одном хосте, грубо говоря

Не в сети

#5 30.11.2016 17:38:41

Re: база данных по-умолчанию

Гипервизор сразу отсекает 100500 вопросов и проблем с программированием, так как надо минимально всё крутить на LAMP, а не под виндой.
WAMP от лукавого и ленивого.
Например генерация путей в винде и линуксе работает по разному, setlocale() совсем ожидает разные аргументы. Ты сам себя закапываешь, не желая делать правильно, делая быстро.

Не в сети

#6 01.12.2016 09:23:11

Re: база данных по-умолчанию

видимо из-за pdo проблема.
пока занят обработкой запроса из проекта2, он активен на допустим мсскл, создаётся запрос из проекта1 к мускл и подхватывается активный пдо, который работает с мсмскл, и работается с ним.

т.е. новый экземпляр не создаётся или это настраивается как-то?

Не в сети

#7 01.12.2016 12:51:52

Re: база данных по-умолчанию

это бред и домыслы.
читай https://laravel.ru/forum/viewtopic.php?id=2073

Не в сети

#8 01.12.2016 15:00:47

Re: база данных по-умолчанию

  1. потому что перед программированием надо лет 5-10 поадминистрировать. это во первых.

Спорное утверждение. Вообще, сисадмин и программёр это разные навыки и они не всегда пересекаются в одном человеке на 100%.

  1. WAMP от лукавого и ленивого.

Тоже спорно. Больше 10 лет сижу на XAMPP и пишу код переменно то под Windows, то под Linux. Проблем никаких. И я не один такой. Разница между ОС в PHP отлично нивелируется и на разработку не влияют.

  1. пока занят обработкой запроса из проекта2, он активен на допустим мсскл, создаётся запрос из проекта1 к мускл и подхватывается активный пдо, который работает с мсмскл, и работается с ним.

Такого происходить не должно. Есть persistent connections, но они не должны пересекаться. ИМХО, проблема где-то в коде.

Не в сети

#9 01.12.2016 18:44:20

Re: база данных по-умолчанию

Ты вечно споришь, что уж говорить. Уже входит в привычку игнорировать подобные посты, Прогер.

Не в сети

#10 01.12.2016 19:46:06

Re: база данных по-умолчанию

Proger_XP пишет:

}%> потому что перед программированием надо лет 5-10 поадминистрировать. это во первых.
Спорное утверждение. Вообще, сисадмин и программёр это разные навыки и они не всегда пересекаются в одном человеке на 100%.

> WAMP от лукавого и ленивого.
Тоже спорно. Больше 10 лет сижу на XAMPP и пишу код переменно то под Windows, то под Linux. Проблем никаких. И я не один такой. Разница между ОС в PHP отлично нивелируется и на разработку не влияют.

У людей часто видна дикая предвзятость к ОС, инструментам разработки, языкам, фреймворкам, цвету кожи...

Встречал такое, что при слове Windows человек плеваться начал, при этом незнакомое слово vagrant пролетело мимо ушей. Встречал такое, что "только Linux" и "только Mac" - все остальное неприемлемо.

Недавно в phpclub местные самопровозглашенные авторитеты заклевали за мои слова о том, что можно и на Sublime Text кодить. Выяснилось, что это "блокнот" (про плагины в упор не слышат) и все, кто кодят на нем - нубы. Taylor, Way, Stauffer и авторы некоторых топовых пакетов - нубы и фремворк гамно. Это самый популярный PHP фреймворк? Ну дак, "миллионы мух не могут не ошибаться".

Касательно специализации тоже предвзятость огромная. В России вообще от каждого первого слышу, что нужно изучить несколько языков "для расширения кругозора", быть верстальщиком (просто ведь), быть админом и знать все фреймворки (одинаковые ведь). И почти в каждой вакансии требуют знание нескольких или "хотя бы одного фреймворка" и очень желательно node.js. Точно также полно резюме "экспертов в Yii, Laravel, Symfony и Zend".

По мне, дак это бред, который ведет к тому, что настоящих профессионалов мало. Каждый знает всего по чуть-чуть и каждый пишет как умеет. В итоге куча проектов на Laravel с полным игнорированием хороших практик сообщества и инструментов фреймворка. Они похожи на копирку из под Java проектов, либо напоминают JavaScript модули, процедурный спагетти-код и т.д. Кто-то тянет репозитории, кто-то twig/smarty (нахера?), кто-то работает с CURL напрямую в контроллере... Банальные задачи решаются с помощью велосипедов, ибо человек не знает о существующих инструментах. Как это поддерживать?

Я за узкую специализацию. Никто не пойдет лечить зубы к крутому хирургу, но в российском IT лучше наймут Java кодера, который также умеет Symfony/Laravel/Yii, чем человека, который пишет только на Yii (= не опытный, нафиг он нам?).

Только при узкой специализации можно делать поддерживаемые проекты. Да, есть редкие люди, которые могут углубиться в 2-3 технологии, но, в основном, они только думают, что отлично владеют несколькими языками/фреймворками/специальностями.

На западе специализацию ценят, если проект на языке/фреймворке, ищут человека с отличными знаниями и опытом в этой области. Даже в фильмах/сериалах постоянно высмеивают "я агент по недвижимости, юрист и организатор праздников, вот моя визитка".

А на счет предвзятости к инструментам и ОС, я перешел на Ubuntu/PHPStorm, чтобы потенциальный интересный заказ не потерять.

Не в сети

#11 02.12.2016 11:55:33

Re: база данных по-умолчанию

  1. Встречал такое, что «только Linux» и «только Mac» — все остальное неприемлемо.

Да-да, меня особенно веселит «только Мак» — ещё сравнительно недавно (лет 10 назад) про Мак никто всерьёз не думал. Да, были ноутбуки, нормально, но довольно нишево. А сейчас ощущение, что все веб-разработчики «гламурных» фреймворков (к которым я отношу Laravel из-за пафоса, который его окружает) сидят на Mac и SublimeText или MacVim. И сразу вылезло вот это «фууу, Windows».

  1. Недавно в phpclub местные самопровозглашенные авторитеты заклевали за мои слова о том, что можно и на Sublime Text кодить.

Вполне себе развитый редкатор, просто не выглядит перегруженным, как традиционные IDE, но функций у него достаточно.

Могу даже больше сказать. Я когда-то давно использовал несколько IDE, в основном Komodo и PhpED (это было ещё до Sublime и PhpStorm). Но потом перешёл полностью на Notepad2. Вот это реально «Блокнот», без плагинов, без автодополнения, без вкладок. На нём я написал не один десяток больших проектов. ИМХО, пусть человек хоть на бумаге код пишет, а потом сканирует и оцифрует — если всё нормально, то это никого не должно волновать.

  1. Да, есть редкие люди, которые могут углубиться в 2-3 технологии, но, в основном, они только думают, что отлично владеют несколькими языками/фреймворками/специальностями.

Специалисты есть, но это другой уровень. Обычно для проекта достаточно какого-то среднего разработчика, а не senior, который действительно и сервера будет админить, и фреймворки допиливать, и дизайнить, и ещё приложение под Android напишет до кучи. Но, во-первых, всё равно он не сможет писать это параллельно, а, во-вторых, его оклад заметно выше среднего. Причём если про средний оклад заказчики знают отлично, то про то, что стоит за окладом — нет, и получается, что «ищем senior на оклад $20/час», в итоге находится кто-то, просто подходящий по описанию.

Объясняется это тем, что обычно у каждого человека своя любимая технология/язык и он в первую очередь растёт там. Проработав в области лет 5-10 невольно связываешься с другими технологиями, даже другими языками (работаешь на фронтенде/JS — «ой, у нас бекенд на Python/Flask упал, программист болен/на Гоа/в деревне — надо срочно всё починить»), и тоже растёшь, но медленнее. В итоге через N лет ты в принципе владеешь нормально сразу многими областями, как средний узко-специализированный разработчик. И уже не ты ищешь заказчиков, а они тебя ☺

Не в сети

#12 02.12.2016 14:31:03

Re: база данных по-умолчанию

Прочитал дискуссию, стало грустно.

Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо - то ли всего по чуть-чуть. Лично я только по одной этой дискуссии смог бы понять, почему падают "Прогрессы", если б не прочувствовал этого ранее.

Оба ответа ужасны.

Не в сети

#13 02.12.2016 19:00:19

Re: база данных по-умолчанию

«ой, у нас бекенд на Python/Flask упал, программист болен/на Гоа/в деревне — надо срочно всё починить»), и тоже растёшь, но медленнее

Со всем согласен, но на счет специализации - написать то ты напишешь, на второстепенной для себя технологии, но явно далеко не так, как питонист со стажем, который десять лет книги по теме читает, в сообществе крутится, все новшества языка/фреймворка знает, использует хорошие практики, принятые сообществом и т.д. Фронтендщик напишет так, что нормальный питонист тупо откажется "это" поддерживать.

Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо - то ли всего по чуть-чуть. Лично я только по одной этой дискуссии смог бы понять, почему падают "Прогрессы", если б не прочувствовал этого ранее.
Оба ответа ужасны.

Ты как раз представитель тех, кто знает всего по-немногу. Предлагаешь использовать чистый PHP в Laravel для загрузки файлов, не используешь общий код стайл и, о боже, используешь mysqli - явные признаки велосипедиста. mysqli в Laravel я вообще в первый раз увидел, хотя активно трусь на SO и видел буквально тысячи велосипедов.

Твоя статья показывает то, что ты даже не попытался изучить какие-либо стартовые хорошие практики фреймворка, о котором писал. Ты можешь быть крутым питонистом или фронтендщиком, но на нормальный Laravel (например) проект тебя с таким подходом возьмет только недалекий менеджер, который не понимает, что его проект потом кто-то должен будет поддерживать. Любое исправление функционала повлечет за собой переписывание всего кода.

Ответь мне честно на пару вопросов. Ты пойдешь личить зубы к лучшему в городе хирургу? Девушка/дочь пойдет перед свадьбой делать прическу к мужскому парикмахеру? Поедешь чинить Тойоту в БМВ центр?

Изменено AlexeyMezenin (02.12.2016 19:40:11)

Не в сети

#14 03.12.2016 09:01:56

Re: база данных по-умолчанию

AlexeyMezenin пишет:

Ответь мне честно на пару вопросов. Ты пойдешь личить зубы к лучшему в городе хирургу? Девушка/дочь пойдет перед свадьбой делать прическу к мужскому парикмахеру? Поедешь чинить Тойоту в БМВ центр?

Я отвечу за себя smile
1. Пойду, если больше не к кому. В городе один хирург, он, само-собой, и есть лучший. А стоматолога и вовсе нет.
2. А куда она денется, если другого нет?
3. Поеду, если речь идет о неисправности, которую починить смогут везде, но в БМВ-центре это будет стоить в два раза дешевле.

Я вот к чему. Твои вопросы, на самом деле, не просты, как не проста реальность. И маленький нюанс: ты не указал город! Поэтому к каждому из вопросов можно добавить произвольное условие, ведь ты-то сам его не обозначил! Вот и позицию работодателя ты оценил именно с точки зрения laravel-проекта, над которым работает команда. Если так, да, ты прав, однозначно.  А если ситуация как раз такова, что нужен "прислуга за все"? Например, когда нужно не разрабатывать, а поддерживать, причем не только код, но и верстку, графику (не вставлять картинки, а рисовать иконки в векторе, к примеру), фронтэнд на js-фреймворке, а заниматься этим, по причине низкого финансирования, должен кто-то один? Только прошу понять меня правильно, я и не думал поддержать твоего оппонента, отношение к подходам которого давно озвучил. Например, относительно написанной им статьи, наши мнения совпадают.

А вообще, вот, любопытное высказывание есть, подходящее для всех случаев:

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

Админ, прости за оффтоп.

Изменено Androbim (03.12.2016 09:05:47)

Не в сети

#15 03.12.2016 11:16:11

Re: база данных по-умолчанию

Androbim пишет:

А если ситуация как раз такова, что нужен "прислуга за все"? Например, когда нужно не разрабатывать, а поддерживать, причем не только код, но и верстку, графику (не вставлять картинки, а рисовать иконки в векторе, к примеру), фронтэнд на js-фреймворке, а заниматься этим, по причине низкого финансирования, должен кто-то один?

Поэтому я и сделал оговорку про "нормальный проект". Если нужно клепать простые сайты... или "поддерживать сайт компании", то там зачастую этим занимается сын бухгалтерши. )

Не в сети

#16 03.12.2016 11:16:14

Re: база данных по-умолчанию

  1. Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо — то ли всего по чуть-чуть.
  2. Оба ответа ужасны.

Ваш ответ? Знать чуть-чуть что-то одно?


  1. Со всем согласен, но на счет специализации — написать то ты напишешь, на второстепенной для себя технологии, но явно далеко не так, как питонист со стажем

Я имел в виду, что через 10 лет ты сможешь писать не по специальности так, как писал бы средний программёр, а не как специалист, разумеется.


  1. Твои вопросы, на самом деле, не просты, как не проста реальность. И маленький нюанс: ты не указал город!

На самом деле это софистика. Алексей вполне ясно объяснил свою точку зрения. Если нужен «человек-всё-в-одном» и при этом бюджет не позволяет, то этому человеку не нужно писать новый фреймворк и свои велосипеды, а нужно просто использовать готовые инструменты, которые специально ограничены для того, чтобы люди с разным опытом (и даже без) не могли бы ничего сломать.

То есть это CMS, фронтенд-библиотеки типа jQuery, готовые наборы стилей типа Bootstrap, готовые пакеты для бекенда типа Cartalyst, gem’ов для Rails и т.п. Нафига браться за такую задачу, как фреймворк, которая по определению требует большого опыта работы в области, знакомства с проблемами, которые решаешь каждый день, предвидения новых проблем, соответствующего планировании архитектуры и т.д. и т.п.?

Да и вообще, бюджет выставляет заказчик, а не фрилансер. Если человек знает, что он ещё не тянет «custom projects» (те, где можно изобретать велосипеды) — зачем брать работу, где будут и платить мало, и гонять как вшивого по бане? Лучше подучить английский на самом минимуме (вопрос пары месяцев) и заняться фрилансом на западе, где есть из чего выбирать.

Не в сети

#17 03.12.2016 12:46:38

Re: база данных по-умолчанию

Proger_XP пишет:

Лучше подучить английский на самом минимуме (вопрос пары месяцев) и заняться фрилансом на западе, где есть из чего выбирать.

У меня не выходит взять на upwork что-то. У тебя есть опыт?

Не в сети

#18 03.12.2016 13:07:44

Re: база данных по-умолчанию

одна палемика.
сути ноль.

Не в сети

#19 25.09.2017 11:22:35

Re: база данных по-умолчанию

ого, а от темы не слабо шагнули. smile
проблема всё так же есть, просто в последнее время занимался другими делами, было некогда smile

в конфигурациях ничего не менялось.
в проект2 запросы отрабатываются за 15-20 мин, во время отработки запроса в проект2 открываю проект1 и тут же ошибка:
SQLSTATE[42S02]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid object "название таблицы"

Не в сети

#20 26.09.2017 10:19:43

Re: база данных по-умолчанию

подебжаил...
пока крутится проект2 (PDO активен!), открываю проект1, дохожу до момента где загружается конфиг, скрипт прыгает в database.php на строку 'fetch' => PDO::FETCH_CLASS,
и возвращает активные настройки подключения к db.

Не в сети

#21 28.09.2017 10:37:19

Re: база данных по-умолчанию

в модели можно использовать protected $connection = 'mysql';
можно, но вот что получил (внизу вверх smile ):

at ConnectionFactory->make(array('driver' => 'mysql', 'host' => '10.31.х.у',.......), 'mysql') in DatabaseManager.php line 175
at DatabaseManager->makeConnection('mysql') in DatabaseManager.php line 67
at DatabaseManager->connection('mysql') in Model.php line 3209
at Model::resolveConnection('mysql') in Model.php line 3175
at Model->getConnection() in Model.php line 1908

передал свою конекш, дальше пошёл строится объект... вуаля, драйвер mysql, а хост-то MSSQL-ный, который ТОЛЬКО в Проект2 используется. ну вот откуда он туда попадает если не из PDO?

Не в сети

#22 29.09.2017 06:58:43

Re: база данных по-умолчанию

PDO принимает connection string в качестве параметра, в них нет ничего mssql-специфичного, это нормально. в качестве соединения используется имя соединения, а не название драйвера. никто не мешает иметь два соединения к двум разным базам mysql например. соединение по умолчанию определяется параметром default в config/database.php и может браться например из DB_CONNECTION в .env если оно там задано

Не в сети

#23 01.10.2017 14:35:34

Re: база данных по-умолчанию

так то оно так, но как в Проект1 попадают настройки конекшна из Проект2?
в Проект1 нет подключения к MSSQL, в конфиге удалил все настройки подключения к БД, оставил только MySql.
и сейчас, когда ошибку воспроизвожу, ругается на то, что нет настроек для MSSQL.

Не в сети

Подвал раздела