我试图使用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?)...
(这个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打开它并运行具有预期答案的查询...
答案 0 :(得分:0)
是的!我懂了!
问题在于:
config/packages/doctrine.yaml
错误:
url: '%env(DATABASE_URL)%'
但是sholud是:
url: '%env(resolve:DATABASE_URL)%'
谢谢你的帮助!