FROM php:7.4-apache

# Cài đặt dependencies cho GD extension
RUN apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libwebp-dev \
    libxpm-dev \
    && rm -rf /var/lib/apt/lists/*

# Configure và cài đặt GD extension với nhiều format support
RUN docker-php-ext-configure gd \
    --with-freetype \
    --with-jpeg \
    --with-webp \
    --with-xpm \
    && docker-php-ext-install -j$(nproc) gd

# Cài extension cần cho CI3
RUN docker-php-ext-install mysqli pdo pdo_mysql

# Kiểm tra MySQLi extension
RUN php -m | grep -i mysqli

# Bật các module Apache cần thiết
RUN a2enmod rewrite headers

# Chỉnh Apache config để cho phép .htaccess
RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

# Đặt quyền cho thư mục web
RUN chown -R www-data:www-data /var/www/html

# Cấu hình PHP để tránh lỗi headers already sent
RUN echo "output_buffering = 4096" >> /usr/local/etc/php/conf.d/docker-php-output-buffering.ini && \
    echo "session.auto_start = 0" >> /usr/local/etc/php/conf.d/docker-php-session.ini

WORKDIR /var/www/html
