Code: Select all
error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = /tmp/php_errors.log
< /code>
Der Docker-compose.yml hat diesen Eintrag für den Apache-Server: < /p>
volumes:
- .:/var/www/html
- ./docker/php/custom-php.ini:/usr/local/etc/php/conf.d/custom-php.ini
< /code>
Aber die Protokolldatei bleibt leer. Ich weiß nicht, wie ich nur die protokollierten Fehler liest. Ich führe den Befehl Docker-compose exec php php -r "error_log aus ('=== TEST Standardfehler log ==='); FROM php:8.2-apache
# Install dependencies
RUN apt-get update && \
apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
default-mysql-client \
default-libmysqlclient-dev \
curl \
libcurl4-openssl-dev \
cron \
expect \
wget \
bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Configure and install PHP extensions
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
docker-php-ext-install -j$(nproc) gd pdo pdo_mysql mysqli curl
# Enable Apache mod_rewrite
RUN a2enmod rewrite
# Add crontab file to the cron directory
COPY ./docker/php/crontab /etc/cron.d/project-cron
# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/project-cron
# Add custom start script
COPY ./docker/php/start.sh /start.sh
RUN chmod +x /start.sh
# Final permissions setup
RUN chown -R www-data:www-data /var/www/html
# Use the custom start script as the entry point
CMD ["/start.sh"]
# Download and install external CLI tool (example placeholder)
RUN wget https://example.org/tool/tool-linux-x64-v1.0.0.tar.bz2 \
&& tar -xjf tool-linux-x64-v1.0.0.tar.bz2 \
&& cp tool-x86_64-linux-gnu-v1.0.0/tool-cli /usr/local/bin/ \
&& rm -rf tool-*