I think, this is a good idea, to save Interpreter configuration in INI file, like it is done in PHP, thus giving end user more control over it. However, I was thinking about doing it in a bit another way.
[general] some_option=1 another option=1 [sapi:cli] some_option=0 [sapi:cgi] [module:dummy] dummy_specific=1
General idea, is to have single INI file for storing configuration. The general section would store all interpreter's configuration, however any of them could be overwritten by SAPI-specific option. Thanks to that, end user could quickly and easily configure it, and still have some flexibility. Real life example: in general section we allow to use exec-alike functions, but in CGI specific group, we deny it and improve security.
Some options, we might already implement:
- error_reporting (1=on, 0=off; enable or disable displaying errors/warnings/notices)
- include_path (additional include path to install in engine)
- recursion_depth (set a recursion limit)
- shell_exec (1=on, 0=off; enable or disable ability to use exec() alike builtin functions)
Other ideas are also welcome.