Как установить php-sqlite3 в docker?

Для установки расширения php-sqlite3 в Docker-контейнере, следуйте следующим шагам:

Шаг 1: Создание Dockerfile
Создайте Dockerfile в директории вашего проекта или любом другом удобном месте. Dockerfile является текстовым файлом, в котором определяются шаги для создания Docker-образа.

Откройте файл Dockerfile и добавьте следующие строки:

FROM php:latest
RUN docker-php-ext-install pdo pdo_mysql
RUN apt-get update && apt-get install -y zlib1g-dev libsqlite3-dev
RUN docker-php-ext-configure sqlite3 --with-sqlite3=/usr/include
RUN docker-php-ext-install sqlite3

Шаг 2: Сборка Docker-образа
Откройте терминал и перейдите в директорию, где находится Dockerfile. Запустите команду docker build -t my-php-app ., где my-php-app - это имя вашего Docker-образа.

Эта команда соберет Docker-образ на основе указанных шагов в Dockerfile и присвоит ему имя, указанное после флага -t.

Шаг 3: Запуск Docker-контейнера
После успешной сборки Docker-образа, вы можете запустить Docker-контейнер, используя команду docker run -d -p 80:80 my-php-app. Эта команда создаст и запустит контейнер на основе Docker-образа my-php-app и привяжет порт 80 хост-системы к порту 80 контейнера.

Шаг 4: Проверка установки php-sqlite3
Чтобы проверить, установлено ли расширение php-sqlite3 в контейнере, вы можете создать простой PHP-скрипт, который будет проверять наличие расширения.

Создайте новый файл с расширением .php (например, info.php) и добавьте следующий код:

<?php
phpinfo();
?>

Сохраните файл и разместите его в директории, связанной с веб-сервером внутри контейнера (обычно /var/www/html/).

Теперь вы можете открыть веб-браузер и перейти по адресу http://localhost/info.php. Вы должны увидеть информацию о PHP, включая список установленных расширений. Если расширение php-sqlite3 присутствует в списке, значит, оно успешно установлено в Docker-контейнер.

Это подробное руководство описывает процесс установки расширения php-sqlite3 в Docker-контейнер. Обратите внимание, что в зависимости от конкретного проекта и конфигурации, некоторые шаги могут незначительно отличаться.