После того, как я настроил свою доктрину в своих .env и доктрине .yaml, я могу создавать свои миграции, базу данных и выполнять миграцию в обычном режиме.
Однако, когда я пытаюсь использовать доктрину в своем приложении с моим EntityManagerInterface и получить доступ к своему маршруту, я получаю следующее ошибка:
PDOException Exception DriverException
Произошло исключение в драйвере: не удалось найти драйвер
Я использую сервер Symfony: начните получать доступ к моему приложению на локальном хосте, и у меня включен pdo mysql в качестве драйвера php: когда я использую symfony php -m, я получаю:
[Модули PHP]
bcmath
calendar
com_dotnet
Corectype
curl
date
dom
fileinfo
filter
gd
hash
icov
jsonlibxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
Phar
randomстрока чтения
Отражение
сеанс
SimpleXML
SPL
стандартный
токенизатор
xml
xmlreader
xmlwriterzip
zlib
[Zend Modules]
Я не знаю, откуда это могло взяться , я включил PDO mysql в версии php, которую использует мое приложение (я проверил с помощью phpinfo()), и я не знаю, почему я получаю эту ошибку из-за отсутствующего установленного драйвера....
.env:
Код: Выделить всё
DATABASE_URL="mysql://root:root@127.0.0.1:3307/bao?serverVersion=mariadb-10.4.11"
...
Код: Выделить всё
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
dbname: bao
charset: utf8
host: 127.0.0.1
port: 3307
user: root
password: root
driver: pdo_mysql
Код: Выделить всё
#[Route('/moulinette', name: 'app_moulinette')]
public function index(EntityManagerInterface $entityManager): Response
{
$moulinette_data = $entityManager->getRepository(MoulinetteData::class)->findOneBy([]);
......
return $this->render('moulinette/index.html.twig', [
'controller_name' => 'MoulinetteController',
'error' => "",
'data' => $data
]);
РЕДАКТИРОВАТЬ:
Мое приложение использует четвертый файл php-cli.ini с меньшим количеством расширений:
Его содержимое:
Код: Выделить всё
[PHP]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; PHP 8.2.17 CLI php-cli.ini ;
; Uniform Server PHP CLI php-cli.ini ;
; PHP Installed as Apache module ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
extension=curl
extension=mysqli
extension=openssl
extension=gd
extension=pdo_mysql
extension=mbstring
extension=fileinfo
extension=zip
extension_dir = "extensions"
;error_reporting = E_ALL | E_STRICT
error_reporting = E_ALL
date.timezone = "Europe/London"
sendmail_path = "${US_ROOTF}/core/msmtp/msmtp.exe --file=${US_ROOTF}/core/msmtp/msmtprc.ini -t"
[COM_DOT_NET]
extension=com_dotnet
Подробнее здесь: https://stackoverflow.com/questions/783 ... -symfony-7