【发布时间】:2021-07-12 11:21:49
【问题描述】:
我有一个 php 应用程序 dockerized。 我的问题是如何将 php 服务中的错误捕获到主机上的专用文件中。 docker 文件看起来是下一个:
version: "3.9"
services:
web:
image: nginx:latest
ports:
- "3000:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./public:/public
php:
build:
context: .
dockerfile: PHP.Dockerfile
environment:
APP_MODE: 'development'
env_file:
- 'dev.env'
volumes:
- ./app:/app
- ./public:/public
- ./php.conf:/usr/local/etc/php-fpm.d/zz-log.conf
mysql:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: <pass here>
env_file:
- 'dev.env'
volumes:
- mysqldata:/var/lib/mysql
- ./app:/app
ports:
- '3306:3306'
volumes:
mysqldata: {}
我的php.conf 在 php 服务中映射为 /usr/local/etc/php-fpm.d/zz-log.conf 如下所示:
php_admin_value[error_log] = /app/php-error.log
php_admin_flag[log_errors] = on
catch_workers_output = yes
我的意图是使用 php error_log() 函数并将所有日志记录在php-error.log 中,这是卷app 中的一个文件。
现在,来自容器的所有日志仅显示在终端上。
我已经为此苦苦挣扎了几个小时,不知道如何继续。谢谢
【问题讨论】:
-
您能否给我们提供更多信息,例如什么有效或无效?你能登录到文件吗?
标签: php docker error-logging