Hi.
When using FCGId, Virtualmin puts "IPCCommTimeout" directive in Apache config. According to this page:
http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
"IPCCommTimeout" is deprecated in favor of "FcgidIOTimeout".
Also "IPCCommTimeout" is put into the Apache config only if "php_admin_value engine Off" is also put. If "mod_php" is disabled, "php_admin_value engine Off" is not put into the Apache config and that causes "IPCCommTimeout" to not be put also. But "IPCCommTimeout" and "FcgidIOTimeout" don't have any connection to "mod_php" so they should not be dependent of it.
Thanks in advance!
Upon further inspection, "FCGIWrapper" is also deprecated in favor of "FcgidWrapper".
Are they seriously renaming old directives and breaking existing config files? That's pretty bad form..
Well, old directives still work I guess, because Apache doesn't complain and works correctly. And this renaming is not of recent date. It dates as far as mod_fcgid version 2.3.2 which was released in 2010 or so.
I'm inclined to not change Virtualmin to use the new directives then, as it would break compatibility with older mod_fcgid versions.
OK. Would you then consider supporting new directives when reading Apache config? As things are now, if I manually change Apache config to use only new directives, Virtualmin will not read Apache config correctly. For example if I change "IPCCommTimeout" to "FcgidIOTimeout", leave the default value of 31 (max_execution_time + 1, at least on my system) and then go to Server Configuration->Website Options, Virtualmin will show a value of 40 seconds??? for "Maximum PHP script run time".
Sure, I'll do that.
Of course, from the user's point of view, the most elegant solution would be to detect the mod_fcgid version and then use proper directives... but it's nightmare for someone doing the code :). On the other hand, you are already testing for mod_fcgid version when using "FcgidMaxRequestLen" directive.