首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用docker开发php

使用docker开发php
EN

Stack Overflow用户
提问于 2015-05-29 17:47:10
回答 1查看 1.5K关注 0票数 2

我正在用docker开发一个wordpress网站。我需要写php代码,所以我想用apache错误日志来查看我的php错误。

在非docker环境中,我会这样做:

代码语言:javascript
复制
tail -100f /var/log/apache2/error.log

对于docker方案,如果我登录apache容器,我的apache日志是旧的和空的:

代码语言:javascript
复制
$ docker exec -t -i apache /bin/bash
root@d47b168d8c4b:/var/www/html# cd /var/log/apache2/
root@d47b168d8c4b:/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 ..
root@d47b168d8c4b:/var/log/apache2# 

可能日志在不同的位置,所以我转到apache虚拟主机配置,而启用站点的文件夹是空的!

在sites-availabe中,我有以下配置: ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

其中${APACHE_LOG_DIR}是/var/www/apache2

我的wordpress镜像是官方的:https://registry.hub.docker.com/_/wordpress/我查看了dockerfile,寻找提示,但我没有看到相关的配置。它基于php:5.6-apache,所以我也查看了dockerfile,但在那里我没有得到任何日志配置。

目前,这是我获取日志的唯一方法:

代码语言:javascript
复制
docker logs apache

其中apache是我的容器名称。但是,我只得到apache访问日志,没有得到任何错误日志

EN

回答 1

Stack Overflow用户

发布于 2016-04-20 21:01:02

我也有同样的问题。为了解决这个问题,我添加了一个打开log_errors并指定error_log位置的php配置。

例如:

代码语言:javascript
复制
# cat /usr/local/etc/php/conf.d/php_error.ini
log_errors = on
error_log = /var/log/apache2/php_err.log

您还需要创建php_err.log文件并设置适当的权限:

代码语言:javascript
复制
touch /var/log/apache2/php_err.log
chown www-data:www-data /var/log/apache2/php_err.log

下面是一个执行此操作的Dockerfile:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30526374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档