Symfony4 sqlite3连接

时间:2018-02-20 20:53:56

标签: php doctrine symfony4

我试图使用Symfony4和SQlite3。 后:

composer create-project symfony/website-skeleton my-project

和LuckyNumber之类的东西,我尝试定义数据库连接。 在: config / packages / doctrine.yaml是:

doctrine:
    dbal:
        # configure these for your database server
        url: '%env(DATABASE_URL)%'

和.env:

DATABASE_URL="sqlite:///%kernel.project_dir%/db/sqlite3.db3"

是否有任何console-command来测试连接? 或者也许:

php bin/console doctrine:query:sql "select * from all_files"

应该返回资源或其他方式来简单地测试连接? 不幸的是谷歌像坟墓一样沉默:-( 如何在Symfony4 / Doctrine中测试数据库连接?

之后:php bin/console doctrine:query:sql "select * from all_files"

我得到了:     在AbstractSQLiteDriver.php第89行:       驱动程序发生异常:找不到驱动程序
    在PDOConnection.php第47行:       找不到司机

安装php7.2-sqlite3-dbgsym并重启apache2(但我猜Symfony控制台不使用Apache?)...

编辑:

在Mike的提示之后

(这个php版本没有pdo_sqlite。)我得到了:

~/Dokumenty/projects/symfony_mdb/my-project$ php bin/console doctrine:query:sql "select * from all_files"

In AbstractSQLiteDriver.php line 86:
An exception occurred in driver: SQLSTATE[HY000] [14] unable to open database file  
In PDOConnection.php line 47:
  SQLSTATE[HY000] [14] unable to open database file  

但这是新文件,没有使用它的进程(我猜)。可以使用SQlite GUI打开它并运行具有预期答案的查询...

1 个答案:

答案 0 :(得分:0)

是的!我懂了!

问题在于:

config/packages/doctrine.yaml

错误:

url: '%env(DATABASE_URL)%'

但是sholud是:

url: '%env(resolve:DATABASE_URL)%'

谢谢你的帮助!