我知道这个问题已经被问过了,但我找不到适合我的答案。
我在Linux上,我用composer创建了一个symfony 4项目,我想安装EasyBundle管理员。
一切都很好,但当我制作php bin/console server:run
并转到地址链接,并将/admin
放在末尾以转到页面时,我出现了一个错误:
"在呈现模板期间引发异常("驱动程序中发生异常:找不到驱动程序")。">
我搜索了一整天,尝试了所有的东西,但都无法成功。
安装mysql。然后进行
bin/console doctrine:database:create
然后
bin/console doctrine:schema:update --force
启动web应用程序前的第一件事是设置一个合适的环境。
在您的情况下,您需要设置LAMP或LEMP堆栈。
根据您的linux发行版,可能会有不同的操作。这种操作的细节超出了这个问题的范围。
为了运行新建立的Symfony项目,您应该做一些事情。
首先,您必须在您的机器上设置一个数据库管理系统。尽管其他人建议使用MySQL,但我建议从sqlite3开始。设置要容易得多,而且非常适合用于开发目的。
在您的机器上安装sqlite3
。如果你有一个基于debian的分发,你可以使用:
sudo apt install sqlite3 php-sqlite3
或者使用包管理器。
成功安装后,您必须修改两个文件:
.env
找到以下行:
# DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
如果没有评论,请对其进行评论,并在下面添加以下行:
DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db"
config/packages/doctrine.yaml
这个文件应该是这样的:
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_sqlite'
server_version: '3'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
types:
json: SonataDoctrineTypesJsonType
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'AppEntity'
alias: App
最重要的部分是doctrine.dbal
。doctrine.orm
部分最终可能会在您的项目中有所不同。关键是设置driver: 'pdo_sqlite'
和server_version: '3'
。
现在,您可以按照@goto的答案进行操作,您的数据库就应该创建了。
在命令行上,您可以使用进行检查
sqlite3 var/app.db
发出命令.tables
,应列出表格。
我在使用XAMPP的Windows上遇到了同样的问题,因为在.env中我添加了错误的MySQL端口,而不是:
DATABASE_URL=";mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7〃
我写道:DATABASE_ URL=";mysql://db_user:db_password@127.0.0.1:3366/db_name?serverVersion=5.7〃
当我将其更正为:DATABASE_ URL=";mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7〃
我能够跑:php-bin/console原则:数据库:创建
我希望它能帮助犯同样错误的人。