gpt4 book ai didi

wordpress - 用Docker开发PHP

转载 作者:行者123 更新时间:2023-12-02 18:43:10 25 4
gpt4 key购买 nike

我正在与docker开发一个wordpress网站。我需要编写php代码,因此我想查看apache错误日志中的php错误。

在非docker环境中,我将执行以下操作:

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

在docker场景中,如果我登录apache容器,我的apache日志又旧又空:
$ 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的文件夹为空!

在站点可用中,我具有以下配置:
错误日志$ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log组合

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

我的wordpress图片是官方图片: https://registry.hub.docker.com/_/wordpress/
我看着dockerfile搜索提示,但没有看到与配置相关的信息。它基于FROM php:5.6-apache,所以我也看了一下dockerfile,但那里没有任何日志配置。

当前,这是获取日志的唯一方法:
docker logs apache

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

最佳答案

我遇到过同样的问题。为了解决这个问题,我添加了一个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

关于wordpress - 用Docker开发PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30526374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com