Я пытаюсь подключиться к удаленному серверу sql и преуспел в этом из командной строки. При запуске php -i | grep PDO
я получаюPhp в Symfony и php run из командной строки загружают разные драйверы
PDO
PDO support => enabled
PDO drivers => sqlsrv, dblib, mysql
PDO Driver for FreeTDS/Sybase DB-lib => enabled
PDO Driver for MySQL => enabled`
При запуске PHP скрипта из командной строки, я не могу подключиться к удаленной БД не проблемы. При выполнении этого точно такой же код в моем приложении Symfony, я получаю
[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[01002] Adaptive Server connection failed (severity 9)
Когда я бегу phpinfo()
в Symfony, единственный драйвер PDO, который приходит в mysql
Когда я бегу phpinfo()
из командной строки, я get mysql, sqlsrv и dblib
Почему некоторые драйверы pdo не загружаются в Symfony?
Редактировать: БД правильно настроена в Symfony, так как php bin/console doctrine:query:sql "SELECT * FROM my_table"
возвращает результаты. Тот же запрос, выполненный в Symfony, с ошибкой «невозможно загрузить драйвер»
У вас есть два различных php.ini файлов в вашей системе. Запустите php -ini и сравните его с путём, указанным через phpinfo – Cerad
@cerad, оба показывают '/ etc/php/7.0/cli/php.ini' в качестве загруженного конфигурационного файла –
Моды также могут быть разными. Проверьте /etc/php/7.0/apache или fpm или любую другую папку и посмотрите, включен ли режим pdo, как в папке cli. – mickadoo