@Dimanokum

Как пофиксить Fatal error: Uncaught PDOException: could not find driver in /app/public/index.php:45?

Помогите пофиксить плз)
Не выходит подключиться к БД из php (использую docker-compose) выдает ошибку:

Fatal error: Uncaught PDOException: could not find driver in /app/public/index.php:44 Stack trace: #0 /app/public/index.php(44): PDO->__construct('mysql:dbname=de...', 'root', Object(SensitiveParameterValue), Array) #1 {main} thrown in /app/public/index.php on line 44

Из phpstorm к БД поключиться получилось.

index.php пробовал такие вариант
$pdo = new PDO('mysql:dbname=dev;host=mysql', 'root ', 'password', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
//$pdo = new PDO('mysql:dbname=udata;host=localhost:3306', 'root', 'password', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
//$pdo = new PDO('mysql:dbname=dev;host=127.0.0.1:3306', 'root', 'password', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

docker-compose.yml
version: '3'
services:
    web:
        image: nginx:alpine
        ports:
            - "80:80"
        volumes:
            - ./config/nginx.conf:/etc/nginx/conf.d/nginx.conf
            - .:/app
    php:
        image: php:fpm
        volumes:
            - .:/app
    mysql:
        image: mysql:latest
        environment:
            MYSQL_USER: 'user'
            MYSQL_ROOT_PASSWORD: 'password'
            MYSQL_PASSWORD: 'password'
            MYSQL_DATABASE: 'dev'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - ./DB:/var/lib/mysql
        ports:
            - "3306:3306"

nginx.conf хз зачем он вам)
server {
    listen 80 default_server;
    root /app/public;

    index index.php index.html index.htm;

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  • Вопрос задан
  • 378 просмотров
Решения вопроса 1
akelsey
@akelsey
Докер тут не причем, нужно вероятно включить модуль в php.ini:
pdo_mysql
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы