Как установить pdo_odb c в Docker php образ - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь подключиться к MS sql с помощью PDO и Laravel, но мне кажется, что у меня возникают проблемы при установке драйвера. Нет ошибок сборки, но я везде искал, чтобы найти решение, и они либо выдают ошибку, либо просто не работают. При попытке установить соединение с сервером ms sql выдает следующую ошибку:

Illuminate\Database\QueryException: could not find driver (SQL: SELECT * FROM SAMPLE_VIEW_SM1 WHERE STUDENTS_ID=1) in file /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 664

Caused by
PDOException: could not find driver in file /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php on line 70

Вот мой файл dockerfile:

FROM php:7.3-fpm-buster

ENV DEBIAN_FRONTEND=noninteractive

RUN rm /etc/apt/preferences.d/no-debian-php

RUN apt-get update -y && apt-get install -y \
    openssl \
    zip \
    unzip \
    git \
    curl \
    freetds-common \
    freetds-bin \
    unixodbc \
    unixodbc-dev \
    php-smbclient \
    php7.3-sybase

RUN docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixodbc,/usr
RUN docker-php-ext-install pdo_odbc
RUN docker-php-ext-enable pdo_odbc
# Install node and dependencies

RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -y nodejs

RUN mkdir /cache
WORKDIR /cache

COPY package.json ./
COPY package-lock.json ./
RUN npm install

# Set file size limits

RUN echo "post_max_size=50M" >> /usr/local/etc/php/php.ini-production
RUN echo "upload_max_filesize=10M" >> /usr/local/etc/php/php.ini-production
RUN echo "memory_limit=6400M" >> /usr/local/etc/php/php.ini-production

RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"

# Create application's working directory
WORKDIR /var/www
COPY . .

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install

RUN cp -r ./vendor/. /cache/vendor/

RUN chmod -R a+rwX /var/www/storage

RUN chmod -R +x ./entrypoint.sh

EXPOSE 9000

ENTRYPOINT [ "./entrypoint.sh" ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...