我正在尝试为sqlite数据库生成实体。当我执行命令时:
php bin/console doctrine:mapping:import --force AppBundle yml
我收到一条消息:
An exception occured in driver: could not find driver
我在Windows 7版本php 7.2上使用symfony 3.2
phpinfo显示:
在php.ini中,我已启用:
extension=php_pdo_sqlite
extension=php_sqlite3
[sqlite3]
sqlite3.extension_dir = "C:\xampp7.2\php\ext"
如果是ext文件夹,这是我的扩展名:
这是我的参数。yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
database_path: '%kernel.root_dir%/sqlite.db'
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: ThisTokenIsNotSoSecretChangeIt
,这里是config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_sqlite
# host: '%database_host%'
# port: '%database_port%'
dbname: '%database_name%'
# user: '%database_user%'
# password: '%database_password%'
charset: UTF8
path: '%database_path%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
当我在gitbash中运行时:
php -m | grep -i pdo
我得到结果:
PDO
pdo_mysql
请帮助我理解它以及为什么不能在控制台中做到这一点。当我在网络上这样做时:
/* @var $connection Connection */
$connection = $this->getDoctrine()->getConnection();
$execute = $connection->createQueryBuilder()
->select('*')
->from('movies')
->setMaxResults(10)
->execute()->fetch(\PDO::FETCH_ASSOC);
var_dump($execute);exit;
var_dump向我显示了一个数据