Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
На одном сервер (wamp), крутиться два проекта.
1. Использует локальную mysql (по умолчанию)
2. Использует разные серверные базы: MS SQL (по умолчанию), Oracle.
В какой-то момент, когда работают с проектом2, при открытии проекта1, ругается что в базе MS SQL не найдены такие-то таблицы, что естественно их там нет, ведь открывается проект1.
Через какое-то время проект1 начинает работать.
Проекты доступны из разных рабочих мест: проект2 глобально, проект1 только локально.
Не понять почему так происходит?
Не в сети
потому что перед программированием надо лет 5-10 поадминистрировать. это во первых.
во вторых поставь гипервизор.
Не в сети
Два разных экземпляра ларавел, разные настройки соединений, переменных. Всё разное, не пересекается.
Почему проект2 мешает проект1? Особенности ларавел что кеширует подключения где-то?
Не в сети
гипервизор тут не причём. нигде не написано что нельзя запускать несколько приложений на одном хосте, грубо говоря
Не в сети
Гипервизор сразу отсекает 100500 вопросов и проблем с программированием, так как надо минимально всё крутить на LAMP, а не под виндой.
WAMP от лукавого и ленивого.
Например генерация путей в винде и линуксе работает по разному, setlocale() совсем ожидает разные аргументы. Ты сам себя закапываешь, не желая делать правильно, делая быстро.
Не в сети
видимо из-за pdo проблема.
пока занят обработкой запроса из проекта2, он активен на допустим мсскл, создаётся запрос из проекта1 к мускл и подхватывается активный пдо, который работает с мсмскл, и работается с ним.
т.е. новый экземпляр не создаётся или это настраивается как-то?
Не в сети
это бред и домыслы.
читай https://laravel.ru/forum/viewtopic.php?id=2073
Не в сети
- потому что перед программированием надо лет 5-10 поадминистрировать. это во первых.
Спорное утверждение. Вообще, сисадмин и программёр это разные навыки и они не всегда пересекаются в одном человеке на 100%.
- WAMP от лукавого и ленивого.
Тоже спорно. Больше 10 лет сижу на XAMPP и пишу код переменно то под Windows, то под Linux. Проблем никаких. И я не один такой. Разница между ОС в PHP отлично нивелируется и на разработку не влияют.
- пока занят обработкой запроса из проекта2, он активен на допустим мсскл, создаётся запрос из проекта1 к мускл и подхватывается активный пдо, который работает с мсмскл, и работается с ним.
Такого происходить не должно. Есть persistent connections, но они не должны пересекаться. ИМХО, проблема где-то в коде.
Не в сети
Ты вечно споришь, что уж говорить. Уже входит в привычку игнорировать подобные посты, Прогер.
Не в сети
}%> потому что перед программированием надо лет 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, чтобы потенциальный интересный заказ не потерять.
Не в сети
- Встречал такое, что «только Linux» и «только Mac» — все остальное неприемлемо.
Да-да, меня особенно веселит «только Мак» — ещё сравнительно недавно (лет 10 назад) про Мак никто всерьёз не думал. Да, были ноутбуки, нормально, но довольно нишево. А сейчас ощущение, что все веб-разработчики «гламурных» фреймворков (к которым я отношу Laravel из-за пафоса, который его окружает) сидят на Mac и SublimeText или MacVim. И сразу вылезло вот это «фууу, Windows».
- Недавно в phpclub местные самопровозглашенные авторитеты заклевали за мои слова о том, что можно и на Sublime Text кодить.
Вполне себе развитый редкатор, просто не выглядит перегруженным, как традиционные IDE, но функций у него достаточно.
Могу даже больше сказать. Я когда-то давно использовал несколько IDE, в основном Komodo и PhpED (это было ещё до Sublime и PhpStorm). Но потом перешёл полностью на Notepad2. Вот это реально «Блокнот», без плагинов, без автодополнения, без вкладок. На нём я написал не один десяток больших проектов. ИМХО, пусть человек хоть на бумаге код пишет, а потом сканирует и оцифрует — если всё нормально, то это никого не должно волновать.
- Да, есть редкие люди, которые могут углубиться в 2-3 технологии, но, в основном, они только думают, что отлично владеют несколькими языками/фреймворками/специальностями.
Специалисты есть, но это другой уровень. Обычно для проекта достаточно какого-то среднего разработчика, а не senior, который действительно и сервера будет админить, и фреймворки допиливать, и дизайнить, и ещё приложение под Android напишет до кучи. Но, во-первых, всё равно он не сможет писать это параллельно, а, во-вторых, его оклад заметно выше среднего. Причём если про средний оклад заказчики знают отлично, то про то, что стоит за окладом — нет, и получается, что «ищем senior на оклад $20/час», в итоге находится кто-то, просто подходящий по описанию.
Объясняется это тем, что обычно у каждого человека своя любимая технология/язык и он в первую очередь растёт там. Проработав в области лет 5-10 невольно связываешься с другими технологиями, даже другими языками (работаешь на фронтенде/JS — «ой, у нас бекенд на Python/Flask упал, программист болен/на Гоа/в деревне — надо срочно всё починить»), и тоже растёшь, но медленнее. В итоге через N лет ты в принципе владеешь нормально сразу многими областями, как средний узко-специализированный разработчик. И уже не ты ищешь заказчиков, а они тебя
Не в сети
Прочитал дискуссию, стало грустно.
Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо - то ли всего по чуть-чуть. Лично я только по одной этой дискуссии смог бы понять, почему падают "Прогрессы", если б не прочувствовал этого ранее.
Оба ответа ужасны.
Не в сети
«ой, у нас бекенд на Python/Flask упал, программист болен/на Гоа/в деревне — надо срочно всё починить»), и тоже растёшь, но медленнее
Со всем согласен, но на счет специализации - написать то ты напишешь, на второстепенной для себя технологии, но явно далеко не так, как питонист со стажем, который десять лет книги по теме читает, в сообществе крутится, все новшества языка/фреймворка знает, использует хорошие практики, принятые сообществом и т.д. Фронтендщик напишет так, что нормальный питонист тупо откажется "это" поддерживать.
Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо - то ли всего по чуть-чуть. Лично я только по одной этой дискуссии смог бы понять, почему падают "Прогрессы", если б не прочувствовал этого ранее.
Оба ответа ужасны.
Ты как раз представитель тех, кто знает всего по-немногу. Предлагаешь использовать чистый PHP в Laravel для загрузки файлов, не используешь общий код стайл и, о боже, используешь mysqli - явные признаки велосипедиста. mysqli в Laravel я вообще в первый раз увидел, хотя активно трусь на SO и видел буквально тысячи велосипедов.
Твоя статья показывает то, что ты даже не попытался изучить какие-либо стартовые хорошие практики фреймворка, о котором писал. Ты можешь быть крутым питонистом или фронтендщиком, но на нормальный Laravel (например) проект тебя с таким подходом возьмет только недалекий менеджер, который не понимает, что его проект потом кто-то должен будет поддерживать. Любое исправление функционала повлечет за собой переписывание всего кода.
Ответь мне честно на пару вопросов. Ты пойдешь личить зубы к лучшему в городе хирургу? Девушка/дочь пойдет перед свадьбой делать прическу к мужскому парикмахеру? Поедешь чинить Тойоту в БМВ центр?
Изменено AlexeyMezenin (02.12.2016 19:40:11)
Не в сети
Ответь мне честно на пару вопросов. Ты пойдешь личить зубы к лучшему в городе хирургу? Девушка/дочь пойдет перед свадьбой делать прическу к мужскому парикмахеру? Поедешь чинить Тойоту в БМВ центр?
Я отвечу за себя
1. Пойду, если больше не к кому. В городе один хирург, он, само-собой, и есть лучший. А стоматолога и вовсе нет.
2. А куда она денется, если другого нет?
3. Поеду, если речь идет о неисправности, которую починить смогут везде, но в БМВ-центре это будет стоить в два раза дешевле.
Я вот к чему. Твои вопросы, на самом деле, не просты, как не проста реальность. И маленький нюанс: ты не указал город! Поэтому к каждому из вопросов можно добавить произвольное условие, ведь ты-то сам его не обозначил! Вот и позицию работодателя ты оценил именно с точки зрения laravel-проекта, над которым работает команда. Если так, да, ты прав, однозначно. А если ситуация как раз такова, что нужен "прислуга за все"? Например, когда нужно не разрабатывать, а поддерживать, причем не только код, но и верстку, графику (не вставлять картинки, а рисовать иконки в векторе, к примеру), фронтэнд на js-фреймворке, а заниматься этим, по причине низкого финансирования, должен кто-то один? Только прошу понять меня правильно, я и не думал поддержать твоего оппонента, отношение к подходам которого давно озвучил. Например, относительно написанной им статьи, наши мнения совпадают.
А вообще, вот, любопытное высказывание есть, подходящее для всех случаев:
Успех в жизни гораздо сильнее зависит от того, насколько быстро вы можете принять новую игру, и вступить в нее,
чем от вашего мастерства в любой из прежних игр.
Админ, прости за оффтоп.
Изменено Androbim (03.12.2016 09:05:47)
Не в сети
А если ситуация как раз такова, что нужен "прислуга за все"? Например, когда нужно не разрабатывать, а поддерживать, причем не только код, но и верстку, графику (не вставлять картинки, а рисовать иконки в векторе, к примеру), фронтэнд на js-фреймворке, а заниматься этим, по причине низкого финансирования, должен кто-то один?
Поэтому я и сделал оговорку про "нормальный проект". Если нужно клепать простые сайты... или "поддерживать сайт компании", то там зачастую этим занимается сын бухгалтерши. )
Не в сети
- Какой все-таки ужасный спор: то ли знать что-то одно, но хорошо — то ли всего по чуть-чуть.
- Оба ответа ужасны.
Ваш ответ? Знать чуть-чуть что-то одно?
- Со всем согласен, но на счет специализации — написать то ты напишешь, на второстепенной для себя технологии, но явно далеко не так, как питонист со стажем
Я имел в виду, что через 10 лет ты сможешь писать не по специальности так, как писал бы средний программёр, а не как специалист, разумеется.
- Твои вопросы, на самом деле, не просты, как не проста реальность. И маленький нюанс: ты не указал город!
На самом деле это софистика. Алексей вполне ясно объяснил свою точку зрения. Если нужен «человек-всё-в-одном» и при этом бюджет не позволяет, то этому человеку не нужно писать новый фреймворк и свои велосипеды, а нужно просто использовать готовые инструменты, которые специально ограничены для того, чтобы люди с разным опытом (и даже без) не могли бы ничего сломать.
То есть это CMS, фронтенд-библиотеки типа jQuery, готовые наборы стилей типа Bootstrap, готовые пакеты для бекенда типа Cartalyst, gem’ов для Rails и т.п. Нафига браться за такую задачу, как фреймворк, которая по определению требует большого опыта работы в области, знакомства с проблемами, которые решаешь каждый день, предвидения новых проблем, соответствующего планировании архитектуры и т.д. и т.п.?
Да и вообще, бюджет выставляет заказчик, а не фрилансер. Если человек знает, что он ещё не тянет «custom projects» (те, где можно изобретать велосипеды) — зачем брать работу, где будут и платить мало, и гонять как вшивого по бане? Лучше подучить английский на самом минимуме (вопрос пары месяцев) и заняться фрилансом на западе, где есть из чего выбирать.
Не в сети
Лучше подучить английский на самом минимуме (вопрос пары месяцев) и заняться фрилансом на западе, где есть из чего выбирать.
У меня не выходит взять на upwork что-то. У тебя есть опыт?
Не в сети
одна палемика.
сути ноль.
Не в сети
ого, а от темы не слабо шагнули.
проблема всё так же есть, просто в последнее время занимался другими делами, было некогда
в конфигурациях ничего не менялось.
в проект2 запросы отрабатываются за 15-20 мин, во время отработки запроса в проект2 открываю проект1 и тут же ошибка:
SQLSTATE[42S02]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid object "название таблицы"
Не в сети
подебжаил...
пока крутится проект2 (PDO активен!), открываю проект1, дохожу до момента где загружается конфиг, скрипт прыгает в database.php на строку 'fetch' => PDO::FETCH_CLASS,
и возвращает активные настройки подключения к db.
Не в сети
в модели можно использовать protected $connection = 'mysql';
можно, но вот что получил (внизу вверх ):
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?
Не в сети
PDO принимает connection string в качестве параметра, в них нет ничего mssql-специфичного, это нормально. в качестве соединения используется имя соединения, а не название драйвера. никто не мешает иметь два соединения к двум разным базам mysql например. соединение по умолчанию определяется параметром default в config/database.php и может браться например из DB_CONNECTION в .env если оно там задано
Не в сети
так то оно так, но как в Проект1 попадают настройки конекшна из Проект2?
в Проект1 нет подключения к MSSQL, в конфиге удалил все настройки подключения к БД, оставил только MySql.
и сейчас, когда ошибку воспроизвожу, ругается на то, что нет настроек для MSSQL.
Не в сети
Страницы 1