2015-05-29 4 views
2

Я занимаюсь разработкой сайта wordpress с докером. Мне нужно написать php-код, поэтому я хочу увидеть свои php-ошибки с журналами ошибок apache.Разработка php с докере

В среде без Docker я хотел бы сделать что-то вроде этого:

tail -100f /var/log/apache2/error.log 

сценария Docker, если я войти мой апач контейнер моих журналы Апача старые и пустые:

$ docker exec -t -i apache /bin/bash 
[email protected]:/var/www/html# cd /var/log/apache2/ 
[email protected]:/var/log/apache2# ls -alrt 
total 8 
-rw-r----- 1 www-data www-data 0 Apr 30 04:34 other_vhosts_access.log 
-rw-r----- 1 www-data www-data 0 Apr 30 04:34 error.log 
-rw-r----- 1 www-data www-data 0 Apr 30 04:34 access.log 
drwxr-x--- 2 www-data www-data 4096 Apr 30 04:34 . 
drwxr-xr-x 11 root  root  4096 Apr 30 05:58 .. 
[email protected]:/var/log/apache2# 

Может быть журналы находятся в другом месте, поэтому я перехожу к конфигурации виртуальных хостов apache, а папка с сайтами пуста!

В-сайтов Availabe У меня есть эта конфигурация: ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log комбинированный

где $ {APACHE_LOG_DIR} есть/вар/WWW/apache2

My wordpress image является официальным: https://registry.hub.docker.com/_/wordpress/ Я смотрю на файл докеров, который ищет подсказки, но я не видел никакой конфигурации. Это основано на FROM php: 5.6-apache, поэтому я также смотрю, что файл dockerfile, но я не получаю никакой конфигурации журнала там.

В настоящее время это единственный способ, которым я могу получить журналы:

docker logs apache 

Где апач мой контейнер имя. Однако я получаю только журналы доступа apache, я не получаю никаких журналов ошибок

+1

Вы нашли решение? – Johan

ответ

0

У меня была та же проблема. Чтобы исправить это, я добавил конфигурацию php, которая включает log_errors и указывает местоположение error_log.

Например:

# cat /usr/local/etc/php/conf.d/php_error.ini 
log_errors = on 
error_log = /var/log/apache2/php_err.log 

Вам также необходимо создать файл php_err.log и установить соответствующие разрешения:

touch /var/log/apache2/php_err.log 
chown www-data:www-data /var/log/apache2/php_err.log 

Вот Dockerfile, что делает это:

FROM wordpress:latest 
MAINTAINER moo 
RUN touch /var/log/apache2/php_err.log && chown www-data:www-data /var/log/apache2/php_err.log 
COPY php_error.ini /usr/local/etc/php/conf.d/php_error.ini 
Смежные вопросы