Symfony3演示项目不起作用:PDO异常无法找到驱动程序(sqlite案例)

And*_*rew 2 php sqlite pdo symfony

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

symfony new myproject
Run Code Online (Sandbox Code Playgroud)

该项目使用mysql,它工作正常.

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

symfony demo
Run Code Online (Sandbox Code Playgroud)

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

错误信息:

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

500内部服务器错误 - DriverException

2个链接的例外:

PDOException»

PDOException»

调用堆栈中的关键部分:

CRITICAL - 未捕获的PHP异常Doctrine\DBAL\Exception\DriverException:"驱动程序中发生异常:找不到驱动程序"/var/www/symfony_demo/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php第85行

我已经阅读了有关PDO Exception的所有堆栈交换问题,但没有人帮助我......

我使用Ubuntu,Nginx.

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

演示app parameters.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
Run Code Online (Sandbox Code Playgroud)

php.ini文件:

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

[sqlite3]
;sqlite3.extension_dir =
Run Code Online (Sandbox Code Playgroud)

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

请帮忙!

小智 6

只需安装:

sudo apt install php-sqlite3
Run Code Online (Sandbox Code Playgroud)


bar*_*rak 6

对于我在ubuntu工作

sudo apt-get install php5.6-sqlite
Run Code Online (Sandbox Code Playgroud)

  • 使用 PHP7 和 `sudo apt install php7.0-sqlite3` 为我工作。更通用/抽象的解决方案是这样的:`sudo apt-get install phpX.Y-sqlite` (2认同)