У меня проблема с Doctrine2, которая кажется ошибкой, но я не могу найти никого другого в Google с такой же проблемой. Я надеюсь, что где-то здесь возникла эта проблема и знает, как ее решить.
Обычно я пытаюсь подключиться к базе данных DB2. Я предпочитаю использовать клиент ibm_db2, так как он должен быть лучше и быстрее (чем PDO_IBM или PDO_ODBC). Я установил клиент и проверил его. Кажется, все работает там. Но когда я использую Doctrine, я получаю следующую ошибку:
Notice: Undefined index: protocol in
...[my folders].../vendor/doctrine-dbal/lib/Doctrine/DBAL/Driver/
IBMDB2/DB2Driver.php line 54
Итак, в этом файле он ищет $params['protocol']
, который, похоже, не имеет значений по умолчанию. Итак, в config.yml я попробовал это:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
protocol: TCPIP
Но когда я это делаю, он жалуется, что protocol
- это неопределенная опция конфигурации (и, просматривая материал DependencyInjection, он нигде не появляется).
Однако: если я жестко закодирую TCPIP в файле драйвера, где происходит ошибка ... все это работает. Это нежелательно, поскольку включает в себя изменение файла, предоставленного поставщиком. Кто-нибудь нашел способ правильно указать протокол в конфигурации?