We are using the wordpress:php7.4-fpm-alpine image. We are logging to STDERR using following as example:
error_log($msg, 3, '/dev/stderr');
but do not see the message in Docker logs. If we replace /dev/stderr with a local filename such as /var/www/html/wp-debug.log the message does appear there.
Things we tried (none of which worked):
- replace
/dev/stderr with /proc/self/fd/2
- replace
/dev/stderr with /proc/1/fd/2
we have verified catch_workers_output is set to yes in /usr/local/etc/php-fpm.d/docker.conf.
below are the different kinds of error messages in wordpress logs:
[23-Mar-2021 18:48:55 UTC] PHP Warning: error_log(/dev/stderr): failed to open stream: No such file or directory in /var/www/html/wp-content/logging.php on line 11
[23-Mar-2021 20:26:06 UTC] PHP Warning: error_log(/proc/1/fd/2): failed to open stream: Permission denied in /var/www/html/wp-content/logging.php on line 11
[23-Mar-2021 21:13:15 UTC] PHP Warning: error_log(/proc/self/fd/2): failed to open stream: No such file or directory in /var/www/html/wp-content/logging.php on line 11
the /dev/stderr does clearly exist:
bash-5.0# ls -al /dev/stderr
lrwxrwxrwx 1 root root 15 Mar 23 20:04 /dev/stderr -> /proc/self/fd/2
bash-5.0# ls -al /proc/self/fd/2
lrwx------ 1 root root 64 Mar 23 21:18 /proc/self/fd/2 -> /dev/pts/0
bash-5.0# ls -al /dev/pts/0
crw--w---- 1 root tty 136, 0 Mar 23 21:18 /dev/pts/0
We are using the
wordpress:php7.4-fpm-alpineimage. We are logging to STDERR using following as example:but do not see the message in Docker logs. If we replace
/dev/stderrwith a local filename such as/var/www/html/wp-debug.logthe message does appear there.Things we tried (none of which worked):
/dev/stderrwith/proc/self/fd/2/dev/stderrwith/proc/1/fd/2we have verified
catch_workers_outputis set toyesin/usr/local/etc/php-fpm.d/docker.conf.below are the different kinds of error messages in wordpress logs:
the
/dev/stderrdoes clearly exist: