Symfony3演示项目don';工作:PDO异常找不到驱动程序(sqlite案例)


Symfony3 demo project don't work: PDO Exception Could not find driver (sqlite case)

最近我通过命令创建了Symfony3项目

symfony new myproject

该项目使用mysql,运行良好。

之后,我创建了一个演示项目来研究symfony的最佳实践:

symfony demo

项目已成功创建。Config.php显示一切正常。app_dev.php已在我的web浏览器中成功打开。但当我试图打开"http://localhost/app_dev.php/ru/blog/"(应用程序有一个公共部分(将出现500内部服务器错误。/app_dev.php/ru/blog/shows:

错误消息:

驱动程序中发生异常:找不到驱动程序

500内部服务器错误-DriverException

2个链接异常:

PDOException»

PDOException»

调用堆栈中的关键部分:

CRITICAL-未捕获的PHP异常Doctrine''DBAL''Exception''DriverException:"驱动程序中发生异常:找不到驱动程序",位于/var/www/symfony_demo/vvendor/dotrine/DBAL/lib/Doctrine/DBAL/driver/AbstractSQLiteDriver.PHP第85行

我已经阅读了所有关于PDO异常的堆栈交换问题,但没有一个能帮助我…

我使用Ubuntu,Nginx。

安装了Mysql、sqlite、php5-sqlite、sqlite3、libsqlite3-dev。Nginx和php5-fpm重新启动。php.ini用于PDO Wez Furlong的SQLite 3.x驱动程序。

演示应用程序参数。yml:

database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: null
database_user: root
database_password: null
database_path: '%kernel.root_dir%/data/blog.sqlite'
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: secret_value_for_symfony_demo_application

php.ini文件:

[sqlite]
; http://php.net/sqlite.assoc-case
;sqlite.assoc_case = 0
[sqlite3]
;sqlite3.extension_dir =

我不知道问题的原因是什么以及如何解决。

救命!

只需安装:

sudo apt install php-sqlite3

对于我在ubuntu中工作

sudo apt-get install php5.6-sqlite

在我的系统上,这是有效的。但可能不适合所有人:

  1. 今年早些时候,我在PostGRESQL中使用了Symfony
  2. 今天,我使用composer和symfony.com上的说明,完成了我认为是一个干净的symfony项目安装
  3. 我得到了你描述的错误''
  4. 我什么都看了。最后,由于某种原因,我的.env被设置为使用postGreSQL。评论了/.env文件中的那一行,并将其设置为SQLite:
###> doctrine/doctrine-bundle ###
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
# DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###