From 4ad66c24bfd96a5f5a71eec895e9d3085d67f4a0 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Mon, 30 Jan 2023 20:31:46 +0100 Subject: [PATCH] Workaround disabled openlog syslog (#5054) * Workaround disabled openlog syslog #fix https://github.com/FreshRSS/FreshRSS/issues/5053 #fix https://github.com/FreshRSS/FreshRSS/issues/5027 * COPY_SYSLOG_TO_STDERR * Better return * Simplify openlog --- lib/lib_rss.php | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 893bed8eb92..f648d7cd2e2 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -16,11 +16,27 @@ function str_starts_with(string $haystack, string $needle): bool { } } -// @phpstan-ignore-next-line -if (COPY_SYSLOG_TO_STDERR) { - openlog('FreshRSS', LOG_CONS | LOG_ODELAY | LOG_PID | LOG_PERROR, LOG_USER); -} else { - openlog('FreshRSS', LOG_CONS | LOG_ODELAY | LOG_PID, LOG_USER); +if (!function_exists('syslog')) { + // @phpstan-ignore-next-line + if (COPY_SYSLOG_TO_STDERR && !defined('STDERR')) { + define('STDERR', fopen('php://stderr', 'w')); + } + function syslog(int $priority, string $message): bool { + // @phpstan-ignore-next-line + if (COPY_SYSLOG_TO_STDERR && defined('STDERR') && STDERR) { + return fwrite(STDERR, $message . "\n") != false; + } + return false; + } +} + +if (function_exists('openlog')) { + // @phpstan-ignore-next-line + if (COPY_SYSLOG_TO_STDERR) { + openlog('FreshRSS', LOG_CONS | LOG_ODELAY | LOG_PID | LOG_PERROR, LOG_USER); + } else { + openlog('FreshRSS', LOG_CONS | LOG_ODELAY | LOG_PID, LOG_USER); + } } /**