2016-09-01 4 views
2

Итак, я начал использовать Symfony вчера, и, следуя инструкциям, я столкнулся с базой данных.Symfony db взаимодействие; PDOException: не удалось найти драйвер

После выполнения шагов (создание объектов и использование команд консоли для создания таблиц) теперь настало время для сохранения сущностей внутри таблиц.

// Entity setup 
$rep = new Entity\Reparto(); 
$rep->setDescrizione("Standard rep"); 
$rep->setTipo("0"); 
$rep->setIdAzienda(0); 

// DB operation 
$em = $this->getDoctrine()->getManager(); 
$em->persist($rep); <-- Error here 
$em->flush(); 

return new Response("Saved!"); 

Это контроллер, на который я звоню;
На линии $em->persist($rep) я получить, дважды, следующее исключение:

"PDOException: could not find driver" 

Удалив эту строку, никаких исключений не выбрасываются, но, очевидно, ничего не происходит

Я уже проверил файл php.ini (есть только один):
I раскомментировал extension=php_pdo_mysql.dll

php -m дисплеи как PDO и PDO_MySQL

Я бегу последняя версия Symfony (3.1), установленная с композитором, как на php 5.5.38, 5.6.18, так и 7.0.3, работающая на Windows 10 64-бит.
Все это работает на выделенном веб-сервере, загруженном при создании проекта simfony.

+0

ли перезапуске PHP-FPM и Nginx? –

+0

Да, когда я прибегал к его попытке на UWamp, я сделал это несколько раз, перезапустив UWamp, движок PHP и сам компьютер (я запускаю его на ПК), безрезультатно – Vkfan

+1

Если вы запустите 'phpinfo () ', показывает ли это, что загружается расширение' pdo_mysql'? –

ответ

0

У вас есть несколько версий php, установленных в вашей среде.

Во-первых, взгляните на версию PHP, используемую Symfony, и если на ней включен драйвер mysql PDO.

Для этого самым простым способом является просмотр строки отладки Symfony, , где указана версия (3.1.X).

Вы увидите версию PHP и доступ к phpinfo. поиск по нему, если у вас есть строка: драйвера PDO: MySQL

также проверить ваш config.yml

doctrine: 
    dbal: 
     driver: pdo_mysql 
+0

спасибо, но это как-то решило сегодня утром, когда я перезапустил компьютер. У меня была только одна версия php, но все они показывали как PDO, так и pdo_mysql. Я не знаю, что произошло, но спасибо в любом случае – Vkfan

Смежные вопросы