Missing string for the ‘no PHP options selected’ error

Discussion in 'Developers' Forum' started by Pyanepsion, Jan 10, 2026.

  1. Pyanepsion

    Pyanepsion Member

    Version
    ISPConfig 3.3.x (Debian 12, Nginx + PHP-FPM stack)
    Module
    System → System Config → Sites
    Context
    Nginx server (no Apache)
    Capture d'écran 2026-01-10 234218.png
    1. Wrong label for the PHP handler field
    The field is displayed as:
    Code:
    PHP Handler (Apache only)
    Current key:
    Code:
    $wb['web_php_options_txt'] = 'PHP Handler (Apache only)';
    This label is wrong on a Nginx system, because:
    – PHP-FPM is used under Nginx;
    – this setting actually controls the PHP runtime behaviour;
    – marking it as “Apache only” is misleading and factually incorrect.
    → The label should be generic (e.g. PHP handler) or conditional depending on the web server in use.

    2. Missing web_php_options_notempty language key
    When the PHP handler field is left empty, the UI displays:
    Code:
    web_php_options_notempty
    web_php_options_notempty
    This key does not exist in any language file, in particular not in:
    /usr/local/ispconfig/interface/web/admin/lib/lang/en_system_config.lng
    It is also missing from all other locales.

    3. The key is not resolved even if it is added
    Even if the key is manually added to en_system_config.lng (or any locale), e.g.:
    Code:
    $wb['web_php_options_notempty'] = 'PHP handler must not be empty';
    the UI still displays:
    Code:
    web_php_options_notempty
    web_php_options_notempty
    → The validation system does not resolve the key through the language system. This is a binding bug between validation and i18n.

    4. The message is displayed twice
    The error message appears twice, which indicates:
    –either the field is validated twice,
    – or the error is injected twice into the form renderer.
    This makes the issue even more visible and confirms a bug in the UI validation layer.

    Impact
    – Internal language keys are shown to users instead of real messages.
    – The “Apache only” label is factually wrong on Nginx systems.
    – Validation is broken (unresolved key + duplicated message).
    These are UI, i18n and validation bugs, not a simple translation issue.
     

Share This Page