Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony3演示项目don';t工作:PDO异常找不到驱动程序(sqlite案例)_Php_Sqlite_Pdo_Symfony - Fatal编程技术网

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

Php Symfony3演示项目don';t工作:PDO异常找不到驱动程序(sqlite案例),php,sqlite,pdo,symfony,Php,Sqlite,Pdo,Symfony,最近,我通过命令创建了Symfony3项目: symfony new myproject 该项目使用mysql,运行良好 之后,我创建了一个演示项目来研究symfony的最佳实践: symfony demo 项目已成功创建。php显示,一切正常。app_dev.php已在我的web浏览器中成功打开。但当我尝试打开“”(应用程序有一个公共部分)时,将出现500内部服务器错误/app_dev.php/ru/blog/显示: 错误消息: 驱动程序中发生异常:找不到驱动程序 500内部服务器错误-D

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

symfony new myproject
该项目使用mysql,运行良好

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

symfony demo
项目已成功创建。php显示,一切正常。app_dev.php已在我的web浏览器中成功打开。但当我尝试打开“”(应用程序有一个公共部分)时,将出现500内部服务器错误/app_dev.php/ru/blog/显示:

错误消息:

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

500内部服务器错误-DriverException

2链接的例外情况:

PDO例外»

PDO例外»

调用堆栈中的关键部分:

关键-未捕获的PHP异常原则\DBAL\Exception\DriverException:“驱动程序中发生异常:找不到驱动程序”,位于/var/www/symfony_demo/vendor/Doctrine/DBAL/lib/Doctrine/DBAL/driver/AbstractSQLiteDriver.PHP第85行

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

我使用Ubuntu,Nginx

安装了Mysql、sqlite、php5 sqlite、sqlite3、libsqlite3 dev。重新启动Nginx和php5 fpm。用于PDO Wez Furlong的php.ini 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

运行
php-app/check.php
php-app/check.php显示3个错误:app/cache、app/logs必须可写、时区应设置。但这都是关于cli的。Web服务器权限和时区正确。web/config.php显示“您的配置看起来很适合运行Symfony”仔细检查phpinfo()(如果您在开发环境中运行Symfony-在开发人员工具栏中有指向phpinfo的链接)-如果您同时启用了pdo和pdo_sqlite扩展,请检查在config.yml中是否将
驱动程序设置为
%database\u driver%
(因此它取parameters.yml中的一个),因为在新的symfony安装中有pdo_mysql by DefaultDoctory dbal driver是%database_driver%.php.ini pdo drives:mysql only in enable Column为我使用PHP7和
sudo apt install PHP7.0-sqlite3
。更通用/抽象的解决方案是这样的:
sudo apt get install phpX.Y-sqlite