Я знаю, что этот вопрос уже задавали, но я не смог найти ответ, который работает для меня.
Я работаю в Linux, и я создал проект Symfony 4 с композитором, и я хотел установить админку EasyBundle.
Все работает хорошо, но когда я делаю php bin/console server:run и перехожу по адресной ссылке, а для перехода на страницу ставлю /admin в конце, у меня возникает ошибка:
"An exception has been thrown during the rendering of a template ("An exception occurred in driver: could not find driver")."
Я искал весь день, я пробовал все, но я не могу заставить его работать.
я не знаю, я ВООБЩЕ не профессионал в настройке веб-сервера и т. д.
я думаю, что у меня нет базы данных, или если она у меня есть, я не знаю, где и как ее настроить






Установите майскл. Тогда сделайте
bin/console doctrine:database:create
потом
bin/console doctrine:schema:update --force
Я видел это раньше и пытался, когда я делаю sudo yum install php-mysql, он говорит: Последняя проверка срока действия метаданных: 1:39:24 назад, четверг, 07 февраля 2019 г., 16:02:55 по центральноевропейскому времени. Нет совпадения для аргумента: php-mysql Ошибка: невозможно найти совпадение И когда я хочу создать базу данных с symfony, та же проблема, не удалось найти драйвер pdo
Перед запуском вашего веб-приложения Первый необходимо настроить соответствующую среду.
В вашем случае вам нужно настроить стек LAMP или LEMP.
В зависимости от вашего дистрибутива Linux могут быть разные манипуляции. Детали таких манипуляций выходят за рамки этого вопроса.
Я знаю это, но я не знаю, что мне нужно сделать, чтобы создать подходящую среду.
Есть несколько вещей, которые вы должны сделать, чтобы запустить ваш недавно созданный проект Symfony.
Сначала вам нужно настроить систему управления базой данных на вашем компьютере. Хотя другие предложили MySQL, я бы посоветовал начать с sqlite3. Настройка намного проще и отлично подходит для целей разработки.
Установите sqlite3 на свой компьютер. Если у вас есть дистрибутив на основе Debian, вы можете сделать это с помощью:
sudo apt install sqlite3 php-sqlite3
или с помощью менеджера пакетов.
После успешной установки вам необходимо изменить два файла:
.env
Найдите следующую строку:
# DATABASE_URL=mysql://db_user:[email protected]: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, и таблицы должны быть перечислены.
У меня возникла та же проблема в Windows с XAMPP, потому что в .env я добавил неправильный порт MySQL вместо:
DATABASE_URL="mysql://db_user:[email protected]:3306/db_name?serverVersion=5.7"
Я написал: DATABASE_URL="mysql://db_user:[email protected]:3366/db_name?serverVersion=5.7"
Когда я исправил это на: DATABASE_URL="mysql://db_user:[email protected]:3306/db_name?serverVersion=5.7"
Я смог запустить: Доктрина php bin/console: база данных: создать
Я надеюсь, что это может помочь людям, которые сделали ту же ошибку.
кажется, ваша база данных не настроена