我知道这个问题已经被提出,但是我找不到适合我的答案。
我在Linux上,并且用composer创建了一个symfony 4项目,并且我想安装EasyBundle admin。
一切正常,但是当我制作php bin/console server:run
并转到地址链接,并将/admin
放在页面的末尾时,我遇到了一个错误:
“在呈现模板的过程中引发了异常(“驱动程序中发生异常:找不到驱动程序”)。”
我整天都在搜索,尝试了所有内容,但无法正常工作。
答案 0 :(得分:1)
安装mysql。然后做
bin/console doctrine:database:create
然后
bin/console doctrine:schema:update --force
答案 1 :(得分:0)
启动网络应用程序之前,首先是要设置合适的环境。
您需要设置LAMP或LEMP堆栈。
根据您的linux发行版,可能会有不同的操作。此类操作的详细信息不在此问题的范围内。
答案 2 :(得分:0)
要运行新建立的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: Sonata\Doctrine\Types\JsonType
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: 'App\Entity'
alias: App
最重要的部分是doctrine.dbal
。 doctrine.orm
部分最终可能会在您的项目中有所不同。至关重要的是设置driver: 'pdo_sqlite'
和server_version: '3'
。
现在,您可以按照@goto的答案进行操作,并且应该创建数据库。
在命令行上,您可以使用以下命令进行检查:
sqlite3 var/app.db
发出命令.tables
,并列出表。
答案 3 :(得分:0)
我在使用 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 原则:数据库:创建
我希望它可以帮助犯同样错误的人。