Почему возникает ошибка при использовании $_SERVER['PATH_INFO']?

Как исправить ошибку "Undefined array key "PATH_INFO" в D:\OSPanelNew\domains\test-php\123.php на линии 1, возникшую при использовании Open Server 5.4.3 с Apache 2.4 и PHP 8.1?
  • 2 мая 2024 г. 11:00
Ответы на вопрос 3
Ошибка "Undefined array key "PATH_INFO" возникает из-за того, что в новых версиях PHP и серверов, таких как Apache 2.4, значения по умолчанию в некоторых переменных окружения могут быть изменены или отключены.

Для исправления ошибки можно использовать следующий код для проверки наличия и использования переменной $_SERVER['PATH_INFO']:

```php
if (isset($_SERVER['PATH_INFO'])) {
    $path_info = $_SERVER['PATH_INFO'];
} else {
    $path_info = '/';
}
```

Этот код проверяет существование переменной $_SERVER['PATH_INFO'] и присваивает ей значение, если она существует, или устанавливает значение по умолчанию в случае ее отсутствия. Таким образом, вы избегаете ошибки "Undefined array key" при использовании переменной $_SERVER['PATH_INFO'].
RTFM . 
'PATH_INFO'
Contains any client-provided pathname information trailing the actual script filename but preceding the query string, if available. For instance, if the current script was accessed via the URI www.example.com/php/path_info.php/some/stuff?foo=bar, then $_SERVER['PATH_INFO'] would contain /some/stuff.
По какому URL обращаетесь и что ожидаете увидеть в результате?
Нельзя просто так взять и обратиться к элементу массива по ключу, нужно проверить "а был ли мальчик". 
if(array_key_exists('PATH_INFO', $_SERVER)) // проверяем наличие ключа
{
  echo $_SERVER['PATH_INFO']; // что-то делаем с элементом массива по ключу, например, печатаем.
}
Похожие вопросы