[php-src] Issue #13118: Disable wrapping logs with newlines when output decoration is disabled
| From: | siimsoni | Date: | Wed, 10 Jan 2024 15:34:08 +0000 |
| Subject: | [php-src] Issue #13118: Disable wrapping logs with newlines when output decoration is disabled | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-246215@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/13118
Author: siimsoni
### Description
When decorate_workers_output is disabled as a pool directive, and worker output is redirected to the
main error log:
```
decorate_workers_output = no
catch_workers_output = yes
```
And error log is enabled in global php-fpm.conf:
```
error_log = /var/log/php8.3-fpm.log
```
When the following code is executed in an FPM worker:
```php
$err = array_fill(0, 128, "banana");
error_log(file_put_contents("php://stderr", json_encode($err)));
```
error_log contains this:
```
["banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","bana
na","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana"]NOTICE:
PHP message: 1153
```
But I expected the logged contents to be this instead:
```
["banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana","banana"]
```
Links:
* https://github.com/php/php-src/blob/PHP-8.3.2/sapi/fpm/fpm/fpm_stdio.c#L196-L197
* https://pracucci.com/php-on-kubernetes-application-logging-via-unix-pipe.html
### PHP Version
PHP 8.3.2
### Operating System
_No response_