N.
Или все-таки надо было?
N.
Как это понять?
Sergei
Надо смотреть конфиг контейнера
Sergei
не факт, что mySQL там есть)
N.
N.
А какой из них смотреть?
N.
Ни в одном из них mysql нет.
N.
Значит, надо ставить отдельно?
N.
Самому?
N.
Установил mysql-server. Как была ошибка 2002 connection refused, так и осталась. Хотя сервер mysql уже есть.
N.
Контейнер перезапустил.
Maks
https://github.com/maksze/docker_dev_env
Maks
у меня есть сборка с мускулом и прочими прелестями
N.
Докер и проект как-то связаны вообще?
N.
Просто у меня есть каталог, где все в кучу свалено - докер, файлы проекта...
N.
Я могу использовать докер, отличный от того, что есть в проекте?
Maks
докер только контейнеры, что вокруг ему похер
Maks
лишь бы пути совпадали)
N.
У меня даже есть инструкция по первоначальной установке проекта.
N.
Все команды выполняются кроме $ bin/app propel:model:build bin/docker: 2: bin/docker: source: not found bin/docker: 3: [: unexpected operator
N.
Ничего не происходит.
N.
Может, поэтому проект и не поднимается?
Sergey
Все команды выполняются кроме $ bin/app propel:model:build bin/docker: 2: bin/docker: source: not found bin/docker: 3: [: unexpected operator
мне кажется тебе сначала нужно разобраться либо в докере, либо в симфони, а не все сразу
N.
А как лучше? Мне в итоге нужено функционал на симфони допилить.
N.
А для этого поднять проект.
Sergey
просто запусти проект без докера
Sergey
у тебя стоит вебсервер какой-нибудь?
N.
Нет, я специально не ставил, чтобы не валить все в одну кучу, раз в контейнере уже есть своя инфраструктура.
N.
Из того, что у меня сейчас получилось и не получилось, я понял, что в контейнере есть веб-сервер nginx, php и markup.
N.
База данных отдельно устанавливается.
N.
Я запустил контейнер, в котором поднялись все составляющие.
N.
Но при открытии страницы в браузере возникают ошибки. Это, мне кажется, уже к симфони (проекту) относится.
N.
Поэтому я лезу уже в сам проект и не понимаю почему он не работает, раз я просто его скопировал с боевого сервера.
Maks
в конфиге симфони коннект до базы верный?
ILΨλ
крч смотри, сначала тебе надо узнать версию симфонии, в старых <= 3.4 параметры настраивались в app/config/parameters.yml после они могут быть либо в .env либо в конфине никса/апача либо в хранилище, раз ты его скопировал с боевого сервера то соответственно он у тебя и настроен на подключение к боевой бд а доступа к ней у тебя нет, следовательно тебе надо: 1 убедиться что у тебя в контейнере или вне его есть доступ к бд (и ты можешь чем-нибудь к нему подключиться) 2 убедиться что в бд у тебя есть данные или накатить их там миграциями или из дампа или еще как предусмотрено было предыдущими разработчиками 3 изменить параметры подключения в локальной копии проекта для подключения к локальной бд
N.
крч смотри, сначала тебе надо узнать версию симфонии, в старых <= 3.4 параметры настраивались в app/config/parameters.yml после они могут быть либо в .env либо в конфине никса/апача либо в хранилище, раз ты его скопировал с боевого сервера то соответственно он у тебя и настроен на подключение к боевой бд а доступа к ней у тебя нет, следовательно тебе надо: 1 убедиться что у тебя в контейнере или вне его есть доступ к бд (и ты можешь чем-нибудь к нему подключиться) 2 убедиться что в бд у тебя есть данные или накатить их там миграциями или из дампа или еще как предусмотрено было предыдущими разработчиками 3 изменить параметры подключения в локальной копии проекта для подключения к локальной бд
Спасибо за подсказку! Параметры действительно оказались в parameters.yml Доступ к БД есть - я создал пользователя с нужными правами и импортировал туда дамп - и это тоже проверил, все успешно залилось, Тем не менее 4 исключения у меня пока сохраняются: - Symfony\Component\Config\Exception\ FileLoaderLoadException - Propel\Runtime\Connection\Exception\ ConnectionException - Unable to open connection Propel\Runtime\Adapter\Exception\ AdapterException - Unable to open PDO connection -PDOException SQLSTATE[HY000] [2002] Connection refused Мне кажется, что ошибка 2002 является ключевой, поэтому я нашел https://symfony.com/index.php/doc/master/cloud/troubleshooting.html#sqlstate-hy000-2002-connection-refused-during-the-build-step Вот пока двигаюсь в этом направлении. Хотелось бы понимать в правильном или нет.
N.
Спасибо за подсказку! Параметры действительно оказались в parameters.yml Доступ к БД есть - я создал пользователя с нужными правами и импортировал туда дамп - и это тоже проверил, все успешно залилось, Тем не менее 4 исключения у меня пока сохраняются: - Symfony\Component\Config\Exception\ FileLoaderLoadException - Propel\Runtime\Connection\Exception\ ConnectionException - Unable to open connection Propel\Runtime\Adapter\Exception\ AdapterException - Unable to open PDO connection -PDOException SQLSTATE[HY000] [2002] Connection refused Мне кажется, что ошибка 2002 является ключевой, поэтому я нашел https://symfony.com/index.php/doc/master/cloud/troubleshooting.html#sqlstate-hy000-2002-connection-refused-during-the-build-step Вот пока двигаюсь в этом направлении. Хотелось бы понимать в правильном или нет.
UPD: в файле config_prod.yml нашел раздел doctrine, куда, судя по https://symfony.com/index.php/doc/master/cloud/troubleshooting.html#sqlstate-hy000-2002-connection-refused-during-the-build-step, надо добавить строку с версией. Но! Весь раздел doctrine закомментирован. Стоит ли его раскоменчивать и если да, то как потом проверить помогло или нет? Надо ли что-то перезагружаь, обновлять?
artem
Всех поздравляю с принятием RFC Attributes v2. Это огромный шаг вперед, сопоставимый по значению со статической типизацией. К синтаксису, конечно, придется привыкать, но я почему-то рад, что PHP здесь не повторяет Java. По сравнению с PHPDoc-версией мы получаем новый инструмент — атрибуцию (чуть не написал аннотирование) параметров. Можно будет написать более красивые маппинги для контроллеров. Чтобы, например, для эндпойнта POST /api/employee/hire?department=IT экшн выглядел так: <<Route('/api/employee/hire', 'POST')>> function hireEmployee( <<QueryParam('department')>> string $department, <<JsonBody>> Employee $employee ): Response { // ... }
artem
Симфони 6 на подходе в ноябре 21го?🤨🧐
artem
А он тут при чем?
Юмор. Вместо аннотации будем использовать атрибуты
artem
Может это и в симфони 5 будет
Думаю врядли рфс включат в пхп 7.4, а 7.5 уверен не будет. Или не уверены что 6я выйдет до конца 21го года))
N.
Пытаюсь запустить проект, но выдается 4 исключения, 3 из которых связаны с подключением к базе. Выдается сообщение Connection refused. Сокет мускуля в php.ini проверил. Подключение к серверу БД из консоли есть (с нужными параметрами - логин, пасс, база тоже есть). В .env прописывал unix_socket на всякий случай. В config.yml прописывал unix_socket в строчке 'mysql:host=%database_host%;dbname=%database_name%;charset=UTF8'.
N.
Куда еще порыть?..
N.
mysql> select version(); +-------------------------+ | version() | +-------------------------+ | 5.7.29-0ubuntu0.18.04.1 | +-------------------------+ 1 row in set (0.00 sec)
N.
Имя пользователя не рут.
artem
Давай трейс. Так проще
N.
[1/4] PDOException PDOException: SQLSTATE[HY000] [2002] Connection refused at vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php:59 at PDO->__construct('mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'developer', '3UDvLztHSkjNjvYQcEqK', array(false)) (vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php:59) at Propel\Runtime\Connection\PdoConnection->__construct('mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'tilli', '3UDvLztHSkjNjvYQcEqK', array('ATTR_PERSISTENT' => false)) (vendor/propel/propel/src/Propel/Runtime/Adapter/Pdo/PdoAdapter.php:69) at Propel\Runtime\Adapter\Pdo\PdoAdapter->getConnection(array('adapter' => 'mysql', 'user' => 'developer', 'password' => '3UDvLztHSkjNjvYQcEqK', 'dsn' => 'mysql:host=127.0.0.1;dbname=tilli;charset=UTF8', 'classname' => '\\Propel\\Runtime\\Connection\\DebugPDO', 'options' => array('ATTR_PERSISTENT' => false), 'attributes' => array('ATTR_EMULATE_PREPARES' => false), 'model_paths' => array('src', 'vendor'), 'slaves' => array())) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionFactory.php:41) at Propel\Runtime\Connection\ConnectionFactory::create(array('adapter' => 'mysql', 'user' => 'developer', 'password' => '3UDvLztHSkjNjvYQcEqK', 'dsn' => 'mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'classname' => '\\Propel\\Runtime\\Connection\\DebugPDO', 'options' => array('ATTR_PERSISTENT' => false), 'attributes' => array('ATTR_EMULATE_PREPARES' => false), 'model_paths' => array('src', 'vendor'), 'slaves' => array()), object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerSingle.php:76) at Propel\Runtime\Connection\ConnectionManagerSingle->getWriteConnection(object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerSingle.php:90) at Propel\Runtime\Connection\ConnectionManagerSingle->getReadConnection(object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/ServiceContainer/StandardServiceContainer.php:372) at Propel\Runtime\ServiceContainer\StandardServiceContainer->getReadConnection('default') (vendor/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php:992) at Propel\Runtime\ActiveQuery\ModelCriteria->find() (vendor/creonit/page-bundle/Routing/ExtraLoader.php:41) at Creonit\PageBundle\Routing\ExtraLoader->load('.', 'extra') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:153) at Symfony\Component\Config\Loader\FileLoader->doImport('.', 'extra', false, '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:90) at Symfony\Component\Config\Loader\FileLoader->import('.', 'extra', false, '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:154) at Symfony\Component\Routing\Loader\YamlFileLoader->parseImport(object(RouteCollection), array('resource' => '.', 'type' => 'extra'), '/app/app/config/routing.yml', '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:92) at Symfony\Component\Routing\Loader\YamlFileLoader->load('/app/app/config/routing.yml', null) (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:153) at Symfony\Component\Config\Loader\FileLoader->doImport('/app/app/config/routing.yml', null, false, '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:90) at Symfony\Component\Config\Loader\FileLoader->import('routing.yml', null, false, '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:154) at Symfony\Component\Routing\Loader\YamlFileLoader->parseImport(object(RouteCollection), array('resource' => 'routing.yml'), '/app/app/config/routing_dev.yml', '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:92)
N.
at Symfony\Component\Routing\Loader\YamlFileLoader->load('/app/app/config/routing_dev.yml', null) (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/DelegatingLoader.php:40) at Symfony\Component\Config\Loader\DelegatingLoader->load('/app/app/config/routing_dev.yml', null) (vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/DelegatingLoader.php:70) at Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader->load('/app/app/config/routing_dev.yml', null) (vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php:56) at Symfony\Bundle\FrameworkBundle\Routing\Router->getRouteCollection() (vendor/symfony/symfony/src/Symfony/Component/Routing/Router.php:367) at Symfony\Component\Routing\Router->getMatcherDumperInstance() (vendor/symfony/symfony/src/Symfony/Component/Routing/Router.php:289) at Symfony\Component\Routing\Router->Symfony\Component\Routing\{closure}(object(ResourceCheckerConfigCache)) at call_user_func(object(Closure), object(ResourceCheckerConfigCache)) (vendor/symfony/symfony/src/Symfony/Component/Config/ResourceCheckerConfigCacheFactory.php:43) at Symfony\Component\Config\ResourceCheckerConfigCacheFactory->cache('/app/var/cache/dev/appDevDebugProjectContainerUrlMatcher.php', object(Closure)) (vendor/symfony/symfony/src/Symfony/Component/Routing/Router.php:302) at Symfony\Component\Routing\Router->getMatcher() (vendor/symfony/symfony/src/Symfony/Component/Routing/Router.php:256) at Symfony\Component\Routing\Router->matchRequest(object(Request)) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php:104) at Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher)) at call_user_func(array(object(RouterListener), 'onKernelRequest'), object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher)) (vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php:104) at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher)) at call_user_func(object(WrappedListener), object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher)) (vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:212) at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent)) (vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:44) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) (vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:139) at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:127) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:169) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (web/app.php:31)
Alexander
Зачем придумали скриншот..
artem
Зачем так жестоко. Просто можно обяснить что нужен гист
artem
А что ты имеешь в виду под удалением сокета?
/var/lib/mysql/ чёт там дот сок. Я с телефона
N.
А откуда его удалить?
N.
Просто файл?)
N.
То есть я удаляю этот файл, а потом перезапускаю сервер мускуля?
artem
Он ещё молодой. Пошлите его на стекендчейндж по вопросу блокировки сокета
N.
Тут похоже больше на мускуль. Раньше работало костылем. Удаляешь сокет и заново создаешь.
Удаление сокета и создание заново - это же просто перезапуск сервера бд.
N.
Я его перезапустил, файл сокет удалился, потом заново создался.
artem
Я его перезапустил, файл сокет удалился, потом заново создался.
Я тебе сразу скажу, это проблема мускуля. Здесь это оффтоп. Попробуй создать песочницу с тем же коннектом и спроси у гуру мускуля stackexchange
Maxim Kainov
Как бы то ни было оскорблять нехорошо
Maxim Kainov
[1/4] PDOException PDOException: SQLSTATE[HY000] [2002] Connection refused at vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php:59 at PDO->__construct('mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'developer', '3UDvLztHSkjNjvYQcEqK', array(false)) (vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php:59) at Propel\Runtime\Connection\PdoConnection->__construct('mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'tilli', '3UDvLztHSkjNjvYQcEqK', array('ATTR_PERSISTENT' => false)) (vendor/propel/propel/src/Propel/Runtime/Adapter/Pdo/PdoAdapter.php:69) at Propel\Runtime\Adapter\Pdo\PdoAdapter->getConnection(array('adapter' => 'mysql', 'user' => 'developer', 'password' => '3UDvLztHSkjNjvYQcEqK', 'dsn' => 'mysql:host=127.0.0.1;dbname=tilli;charset=UTF8', 'classname' => '\\Propel\\Runtime\\Connection\\DebugPDO', 'options' => array('ATTR_PERSISTENT' => false), 'attributes' => array('ATTR_EMULATE_PREPARES' => false), 'model_paths' => array('src', 'vendor'), 'slaves' => array())) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionFactory.php:41) at Propel\Runtime\Connection\ConnectionFactory::create(array('adapter' => 'mysql', 'user' => 'developer', 'password' => '3UDvLztHSkjNjvYQcEqK', 'dsn' => 'mysql:host=127.0.0.1;dbname=ddb;charset=UTF8', 'classname' => '\\Propel\\Runtime\\Connection\\DebugPDO', 'options' => array('ATTR_PERSISTENT' => false), 'attributes' => array('ATTR_EMULATE_PREPARES' => false), 'model_paths' => array('src', 'vendor'), 'slaves' => array()), object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerSingle.php:76) at Propel\Runtime\Connection\ConnectionManagerSingle->getWriteConnection(object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerSingle.php:90) at Propel\Runtime\Connection\ConnectionManagerSingle->getReadConnection(object(MysqlAdapter)) (vendor/propel/propel/src/Propel/Runtime/ServiceContainer/StandardServiceContainer.php:372) at Propel\Runtime\ServiceContainer\StandardServiceContainer->getReadConnection('default') (vendor/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php:992) at Propel\Runtime\ActiveQuery\ModelCriteria->find() (vendor/creonit/page-bundle/Routing/ExtraLoader.php:41) at Creonit\PageBundle\Routing\ExtraLoader->load('.', 'extra') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:153) at Symfony\Component\Config\Loader\FileLoader->doImport('.', 'extra', false, '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:90) at Symfony\Component\Config\Loader\FileLoader->import('.', 'extra', false, '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:154) at Symfony\Component\Routing\Loader\YamlFileLoader->parseImport(object(RouteCollection), array('resource' => '.', 'type' => 'extra'), '/app/app/config/routing.yml', '/app/app/config/routing.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:92) at Symfony\Component\Routing\Loader\YamlFileLoader->load('/app/app/config/routing.yml', null) (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:153) at Symfony\Component\Config\Loader\FileLoader->doImport('/app/app/config/routing.yml', null, false, '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:90) at Symfony\Component\Config\Loader\FileLoader->import('routing.yml', null, false, '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:154) at Symfony\Component\Routing\Loader\YamlFileLoader->parseImport(object(RouteCollection), array('resource' => 'routing.yml'), '/app/app/config/routing_dev.yml', '/app/app/config/routing_dev.yml') (vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php:92)
Почему у тебя пропел, а не доктрина?
N.
Почему у тебя пропел, а не доктрина?
Я подключаюсь к процессу разработки уже существующего проекта. Не думаю, что стоит начинать с замены пропела на доктрину. Это же уже работающее приложение.
Кирилл
что - пропел еще жыв?
Александр
что - пропел еще жыв?
https://github.com/propelorm/Propel2
Александр
даже с sf4 совместим судя по всему)
artem
Не трогайте пропеллер. Тс не скидывай пароли в общий доступ
N.
Обновил twig файл на рабочем сервере. Включил в config.yml cache:false, но не обновляется. Могу ли я удалить файлы кэша из var/cache/prod без последтствий? Или можно что-то еще сделать для обновления?
Alexander
можно снести полностью папку prod
artem
можно снести полностью папку prod
И проект заодно 😁👍
Andrey
Еее, скам
Maxim Kainov
даже с sf4 совместим судя по всему)
Написано пхп 5.5 и симфони 2
Александр
Написано пхп 5.5 и симфони 2
PHP 5.5 and up. в readme и https://github.com/propelorm/Propel2/commit/3053018a886ba74df738fe96988d1cdcbd049a2b еще был коммит
Александр
я не проверял его работу, но похоже, что можно подружить
Anonymous
Hello
Anonymous
Error with entitytype in a form