Mod_fcgid writes "mod_fcgid: stderr: 0" to apache error logs on each request

OS type and version: CentOS Linux release 7.8.2003 (Core)
Webmin version: 1.954
Virtualmin version: 6.11
Related products version: PHP 5.4.16, 5.6.25, 7.0.27, 7.1.30, 7.2.24, 7.3.11

We are experiencing an issue where sites running PHP with mod_fcgid have apache error log entries that read:

[DATE] [fcgid:warn] [pid PID] [client REMOTE_IP:PORT] mod_fcgid: stderr: 0

This appears to be happening on every single request, requests that do not error out still show this in the error log. This is happening in all of our fast-cgid php versions. If there is an error, the above shows, followed by the appropriate error logging.

It’s probably not relevant to your problem, but you need to update to current versions of Virtualmin and Webmin before anything else. You’re way out of date.

After updating your system to current versions, try switching the execution mode (i.e. to php-fpm) to see if the problem changes in any useful way (i.e. better more informative logs).

I updated both Virtualmin and Webmin just now.
VM: v6.17
WM: v1.981

Switched a staging/development site to php-fpm. Errors now show:

AH01071: Got error ‘PHP message: 0’

on the homepage and every other page load, no other legitimate errors. We were content to deal with this as we are migrating to RHEL8, however, our developers need to use Laravel/Artisan and the return code is breaking deployments and related scripts.

This error seemingly appeared out of nowhere. None of the webmin/virtualmin were labeled as security releases; things work, we’re migrating (it’s been in the works for a while), so this anomaly cropped up seemingly out of nowhere.

Of 168 domains running fcgid, there were 4.5M entries on the 26 Sept 2021 log rotation (weekly).

I dunno. I’ve never seen this exact error. It seems likely to be specific to your application, especially since you see it in different execution modes.

Are you sure your app isn’t exiting with an empty error somewhere? That’s kinda what this looks like, though I have no idea how PHP works with regard to application errors propagating to the error_log. Usually, if you’re hitting a PHP limit or configured restriction it’ll include some information about why it’s happening. This is totally opaque, which makes me think it’s either a bug (in PHP or in your application).

Thank you for the response. This isn’t specific to an app or php version. We have WordPress deployments, various frameworks, and it manifests in the simplest php scripts. For example, I created a php file containing:

<?php echo "Hello World." If I run it via /opt/rh/rh-php73/root/usr/bin/php h.php the output is: 0 Hello World.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.