I can't find any information on why this setting was introduced. I guess that it was either to protect sensitive information or to reduce verbosity in the logs, but either one seems like a poor reason for this setting to exist. The INI comment seems to suggest that it was introduced to protect sensitive information, but that doesn't make sense to me since exceptions aren't revealed to the end user. And while verbose, arguments in stack traces are useful. On top of that, it seems to me like this is already covered by exception_string_param_max_len. If you set the length to 0, isn't it the same as setting exception_ignore_args to On? Or does that mean that no truncation is applied?
I suppose if this INI setting must exist, then it should be set to Off in both development and production environments. The max length should probably be increased, too. I would also appreciate it if it gets clarified in the documentation why the two settings exist and what the difference between them is. And I wouldn't object to removing exception_ignore_args if it's a redundant setting. P.S. The RFC mentions execution_ignore_args too, but I assume that's a typo.