The "Known issues" note about ZBX_ALIAS tells users to drop extra Alias
config files into /etc/zabbix/zabbix_agent.d, but no agent includes that
directory.
zabbix_agentd.conf includes /etc/zabbix/zabbix_agentd.d/*.conf, and
zabbix_agent2.conf includes /etc/zabbix/zabbix_agentd.d/*.conf as well
(plus /etc/zabbix/zabbix_agent2.d/*.conf). The correct shared directory is
zabbix_agentd.d (note the "d"), which is also created in the image and
documented as a volume earlier in the same README. Files placed under
zabbix_agent.d are silently ignored, so user-provided aliases never load.
Fix the path to zabbix_agentd.d in the agent and agent2 READMEs.
ZBX_JAVAGATEWAY_ENABLE is no longer handled by any entrypoint since the
images were migrated to native Zabbix environment variables. The Java
gateway is now configured directly via ZBX_JAVAGATEWAY (JavaGateway) and
ZBX_STARTJAVAPOLLERS (StartJavaPollers).
The obsolete variable was still documented in the server/proxy READMEs and
shipped in the example env files and kubernetes.yaml, where it does nothing.
Worse, the README described it as the way to enable the Java gateway, so a
user setting only ZBX_JAVAGATEWAY_ENABLE=true would get no Java checks.
Remove all remaining references (READMEs, env_vars/.env_srv, env_vars/.env_prx,
kubernetes.yaml). The native ZBX_JAVAGATEWAY / ZBX_STARTJAVAPOLLERS variables
are kept, so existing setups keep working.
The web config redesign changed the HTTP-auth lookup from
getenv('ZBX_ALLOW_HTTP_AUTH') to env_bool('ALLOW_HTTP_AUTH', true),
dropping the ZBX_ prefix. The entrypoint (php.sh) still sets and exports
ZBX_ALLOW_HTTP_AUTH, and every web image README documents ZBX_ALLOW_HTTP_AUTH,
so the frontend now reads a variable that is never set and always falls back
to the default (true).
As a result, setting ZBX_ALLOW_HTTP_AUTH=false no longer disables HTTP
authentication in the frontend. Restore the documented variable name.
env_string('DB_SERVER_PORT') returns '' when the variable is unset, and that
empty string is passed to mysqli::real_connect()'s ?int $port argument in
MysqlDbBackend::connect(), throwing a fatal TypeError under PHP 8 that breaks
every frontend page (HTTP 500) on socket / no-port setups. Regressed in the
web config redesign, which replaced getenv() (returns false -> int 0) with
env_string() (returns '').
Add an env_int() helper that maps both unset and empty to the default and
returns an int, and use it for the DB port.