Я работаю с mapbender3 который разработан в symfony2 на моей локальной машине. Меня просят подключить приложение к удаленному серверу potgreSQL. Ниже приведена конфигурация в parameters.yml файл.
parameters:
database_driver: pdo_pgsql
database_host: 192.168.3.100
database_port: 5434
database_name: idc_core
database_path: ~
database_user: *******
database_password: *******
mailer_transport: smtp
mailer_host: localhost
mailer_user: ~
mailer_password: ~
Но когда я запускаю команду:
php app/console doctrine:database:create
Я продолжаю получать ошибку ниже
could not create database for connection named "idc_core"cound not find driver
Я использую сервер WAMP на Windows 7, и драйвер pdo_pgsql показывает активный и работает на моем локальном компьютере.
я проверил phpinfo () и это отображается pdo_Pgsql как включено, но когда я бегу php -m
в командной строке, чтобы увидеть модули, скомпилированные в,
я могу видеть PDO, PDO_MySQL а также Pdo_Sqlite но нет pdo_Pgsql
Вы должны добавить pdo_Pgsql расширение в CLI Конфиг вашего PHP в
yourPhpDirectory / кли / php.ini
CLI использует этот конфиг для работы в командной строке, а не для apache. Это причина, почему phpinfo();
показывает вам pdo_Pgsql а также php -m
не. Также в ОС Windows вам следует перезапустить инструмент командной строки, чтобы увидеть различия после любых изменений конфигурации.
Обязательно настройте 'default'
ключ в app/config/database.php
Для Postgres это будет 'default' => 'postgres',
Если вы получаете [PDOException] could not find driver
ошибка, проверьте, установлены ли правильные расширения PHP. Тебе нужно pdo_pgsql.so
а также pgsql.so
установлен и включен. Инструкции о том, как это сделать, различаются в разных операционных системах.
Для Windows pgsql
расширения должны поставляться предварительно загруженными с официальным дистрибутивом PHP. Просто отредактируйте свой php.ini
и раскомментируйте строки extension=pdo_pgsql.so
а также extension=pgsql.so
Также в php.ini
, удостовериться extension_dir
установлен в правильном каталоге. Это должна быть папка с именем extensions
или же ext
или аналогичный внутри вашего каталога установки PHP.
Наконец, скопируйте libpq.dll
от C:\wamp\bin\php\php5.*\
в C:\wamp\bin\apache*\bin
и перезапустите все сервисы через интерфейс WampServer.
Если вы все еще получаете исключение, вам может понадобиться добавить postgres \bin
каталог к вашему PATH
:
PATH
запись.Надеюсь, это должно решить любые проблемы. Для получения дополнительной информации см .:
Включить оба расширения php_pdo_pgsql
а также php_pgsql
в php.ini
(тот, что для CLI):
extension=php_pdo_pgsql.dll
extension=php_pgsql.dll
Убедитесь, что «Порт» и «Учетные данные для входа» для удаленного сервера верны, проверив с помощью инструмента администрирования базы данных, такого как Adminer.