#php #mysql #laravel #docker #gitlab-ci
#php #mysql #laravel #docker #gitlab-ci
Вопрос:
При сборке моего приложения laravel с использованием gitlab CI / CD я получаю следующее исключение:
Исключение Illuminate Database QueryException: не удалось найти драйвер (SQL: выберите * из information_schema.tables, где table_schema = xxx и table_name = xxx)
Вот мой файл .gitlab-yaml:
image: php:7.2
services:
- name: mysql:5.7
variables:
WITH_XDEBUG: "1"
DB_HOST: mysql
DB_USERNAME: root
MYSQL_USER: root
MYSQL_ROOT_PASSWORD: xxx
MYSQL_DATABASE: xxx
stages:
- build
- test
building:
stage: build
image: php:7.2
script:
- cp .env.test .env
- php artisan config:clear
- php artisan migrate:refresh
- php artisan db:seed
artifacts:
expire_in: 1 month
paths:
- vendor/
- .env
phpunit:
stage: test
image: php:7.2
script:
- ./vendor/bin/phpunit --colors --verbose --configuration phpunit.xml
Пожалуйста, найдите мой файл .env.test ниже:
APP_ENV=local
APP_DEBUG=true
APP_KEY=somestring
DB_CONNECTION=mysql
DB_HOST=mysql
DB_DATABASE=xxx
DB_USERNAME=xxx
DB_PASSWORD=xxx
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=xxx
Что я делаю не так? Я не могу решить это.
Ответ №1:
Mysql
драйвер отсутствует на вашем сервере, я получил ту же ошибку, я решил ее с помощью следующей команды:
sudo apt install php7.2-mysql
Вы можете заменить версию php в соответствии с версией php вашего сервера, также после выполнения приведенной выше команды вы можете выполнить следующую команду:
php artisan cache:clear
php artisan config:clear
Приведенная выше команда очищает кэш вашего сервера и перезапускает ваш сервер.