After installing GLPI 11 in a test environment (pre-upgrade validation), testing an LDAP replica fails due to a call to a non-existent endpoint.
With debug enabled, I observed that the application attempts to send a POST request to the following endpoint:
However, this file does not exist in the current installation. I also verified the official repository and could not find this file there either.
Server
Operating system: Linux host-removed 6.8.0-106-generic #106-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 07:58:08 UTC 2026 x86_64
PHP: 8.2.30 apache2handler
PHP extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, random, Reflection, SPL, session, standard, sodium, apache2handler, mysqlnd, PDO, xml, apcu, bcmath, bz2, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, iconv, imap, intl, ldap, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, soap, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Zend OPcache
Setup: disable_functions="" max_execution_time="300" max_input_vars="1000" memory_limit="256M" post_max_size="50M" session.cookie_secure="1" session.cookie_httponly="1" session.cookie_samesite="Lax" session.save_handler="files" upload_max_filesize="50M"
Web server: Apache/2.4.58 (Ubuntu) (Apache/2.4.58 (Ubuntu) Server at host Port 443)
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
Database:
Server Software: Ubuntu 24.04
Server Version: 10.11.14-MariaDB-0ubuntu0.24.04.1-log
Server SQL Mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Parameters: glpi_11@host/glpi_11
Host info: host via TCP/IP
Requirements:
PHP version (8.2.30) is supported.
OS and PHP are relying on 64 bits integers.
Sessions configuration is OK.
Allocated memory is sufficient.
Following extensions are installed: dom, fileinfo, filter, libxml, simplexml, tokenizer, xmlreader, xmlwriter.
mysqli extension is installed
curl extension is installed
gd extension is installed
intl extension is installed
mbstring extension is installed
zlib extension is installed
bcmath extension is installed
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
openssl extension is installed
Database engine version (10.11.14) is supported.
The log file has been created successfully.
Write access to /var/www/html/glpi-11/backend/files/_cache has been validated.
Write access to /var/www/html/glpi-11/backend/files/_cron has been validated.
Write access to /var/www/html/glpi-11/backend/files has been validated.
Write access to /var/www/html/glpi-11/backend/files/_graphs has been validated.
Write access to /var/www/html/glpi-11/backend/files/_lock has been validated.
Write access to /var/www/html/glpi-11/backend/files/_pictures has been validated.
Write access to /var/www/html/glpi-11/backend/files/_plugins has been validated.
Write access to /var/www/html/glpi-11/backend/files/_rss has been validated.
Write access to /var/www/html/glpi-11/backend/files/_sessions has been validated.
Write access to /var/www/html/glpi-11/backend/files/_tmp has been validated.
Write access to /var/www/html/glpi-11/backend/files/_uploads has been validated.
Sessions configuration is secured.
exif extension is installed
ldap extension is installed
Following extensions are installed: bz2, Phar, zip.
Zend OPcache extension is installed
Following extensions are installed: ctype, iconv, sodium.
Write access to /var/www/html/glpi-11/backend/marketplace has been validated.
Timezones seems loaded in database.
GLPI constants
GLPI_ROOT: "/var/www/html/glpi-11/backend"
GLPI_VERSION: "11.0.6"
GLPI_SCHEMA_VERSION: "11.0.6@84160e91f70f353b33495a7928e5b1476d4b6d98"
GLPI_FILES_VERSION: "11.0.6-15c577a4"
GLPI_MIN_PHP: "8.2"
GLPI_MAX_PHP: "8.5"
GLPI_YEAR: "2026"
GLPI_I18N_DIR: "/var/www/html/glpi-11/backend/locales"
GLPI_ENVIRONMENT_TYPE: "production"
GLPI_CONFIG_DIR: "/var/www/html/glpi-11/backend/config"
GLPI_VAR_DIR: "/var/www/html/glpi-11/backend/files"
GLPI_MARKETPLACE_DIR: "/var/www/html/glpi-11/backend/marketplace"
GLPI_ALLOW_IFRAME_IN_RICH_TEXT: false
GLPI_SERVERSIDE_URL_ALLOWLIST: ["^\n (http|https|feed):// # protocol\n (\n (?:\n (?:xn--[a-z0-9-]++\.)*+xn--[a-z0-9-]++ # a domain name using punycode\n |\n (?:[\pL\pN\pS\pM\-\]++\.)+[\pL\pN\pM]++ # a multi-level domain name\n |\n [a-z0-9\-\]++ # a single-level domain name\n )\.?\n | # or\n \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # an IP address\n | # or\n \[\n (?:(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-f]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,1}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,2}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,3}(?:(?:[0-9a-f]{1,4})))?::(?:(?:[0-9a-f]{1,4})):)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,4}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,5}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,6}(?:(?:[0-9a-f]{1,4})))?::))))\n \] # an IPv6 address\n )\n (?:/ (?:[\pL\pN\pS\pM\-._\!$&'()+,;=:@]|%[0-9A-Fa-f]{2}) )* # a path\n (?:\? (?:[\pL\pN\-._\~!$&'\\+,;=:@/?]|%[0-9A-Fa-f]{2}) )? # a query (optional)\n $~ixuD"]
GLPI_DISALLOWED_UPLOADS_PATTERN: "/\.(php\d*|phar)$/i"
GLPI_TELEMETRY_URI: "https://telemetry.glpi-project.org"
GLPI_INSTALL_MODE: "TARBALL"
GLPI_NETWORK_MAIL: "glpi@teclib.com"
GLPI_NETWORK_SERVICES: "https://services.glpi-network.com"
GLPI_MARKETPLACE_ENABLE: 3
GLPI_MARKETPLACE_PRERELEASES: false
GLPI_MARKETPLACE_ALLOW_OVERRIDE: true
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: true
GLPI_USER_AGENT_EXTRA_COMMENTS: ""
GLPI_DOCUMENTATION_ROOT_URL: "https://links.glpi-project.org"
GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: "1"
GLPI_LOG_LVL: "warning"
GLPI_SKIP_UPDATES: false
GLPI_STRICT_ENV: false
GLPI_AJAX_DASHBOARD: "1"
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_CENTRAL_WARNINGS: "1"
GLPI_SYSTEM_CRON: false
GLPI_TEXT_MAXSIZE: "4000"
GLPI_WEBHOOK_ALLOW_RESPONSE_SAVING: "0"
GLPI_WEBHOOK_CRA_MANDATORY: false
GLPI_ALTCHA_MODE: "interactive"
GLPI_ALTCHA_MAX_NUMBER: 50000
GLPI_ALTCHA_EXPIRATION_INTERVAL: "PT20M"
GLPI_DOC_DIR: "/var/www/html/glpi-11/backend/files"
GLPI_CACHE_DIR: "/var/www/html/glpi-11/backend/files/_cache"
GLPI_CRON_DIR: "/var/www/html/glpi-11/backend/files/_cron"
GLPI_GRAPH_DIR: "/var/www/html/glpi-11/backend/files/_graphs"
GLPI_LOCAL_I18N_DIR: "/var/www/html/glpi-11/backend/files/_locales"
GLPI_LOCK_DIR: "/var/www/html/glpi-11/backend/files/_lock"
GLPI_LOG_DIR: "/var/www/html/glpi-11/backend/files/_log"
GLPI_PICTURE_DIR: "/var/www/html/glpi-11/backend/files/_pictures"
GLPI_PLUGIN_DOC_DIR: "/var/www/html/glpi-11/backend/files/_plugins"
GLPI_RSS_DIR: "/var/www/html/glpi-11/backend/files/_rss"
GLPI_SESSION_DIR: "/var/www/html/glpi-11/backend/files/_sessions"
GLPI_TMP_DIR: "/var/www/html/glpi-11/backend/files/_tmp"
GLPI_UPLOAD_DIR: "/var/www/html/glpi-11/backend/files/_uploads"
GLPI_INVENTORY_DIR: "/var/www/html/glpi-11/backend/files/_inventories"
GLPI_THEMES_DIR: "/var/www/html/glpi-11/backend/files/_themes"
GLPI_PLUGINS_DIRECTORIES: ["/var/www/html/glpi-11/backend/marketplace","/var/www/html/glpi-11/backend/plugins"]
GLPI_NETWORK_API_URL: "https://services.glpi-network.com/api"
GLPI_NETWORK_REGISTRATION_API_URL: "https://services.glpi-network.com/api/registration/"
GLPI_MARKETPLACE_PLUGINS_API_URI: "https://services.glpi-network.com/api/marketplace/"
Code of Conduct
Disable plugins
Is there an existing issue for this?
Version
11.0.6
Bug description
After installing GLPI 11 in a test environment (pre-upgrade validation), testing an LDAP replica fails due to a call to a non-existent endpoint.
With debug enabled, I observed that the application attempts to send a POST request to the following endpoint:
/ajax/ldap.php
However, this file does not exist in the current installation. I also verified the official repository and could not find this file there either.
This suggests one of the following:
an incorrect or outdated endpoint is being called, or
the corresponding file has been removed without updating the related logic.
Relevant log output
Page URL
/front/authldap.form.php?id=1
Steps To reproduce
Install GLPI 11
Go to Setup > Authentication > LDAP directories
Configure a new LDAP directory
Navigate to the Replicates tab
Add a new replica
Click Test on the newly added replica (debug enabled will give you the missing endpoint information)
Your GLPI setup information
GLPI information
Server
GLPI constants
LDAP directories
SQL replicas
Notifications
Anything else?
No response