# Walidator INI

Sprawdzaj poprawność plików konfiguracyjnych INI, takich jak php.ini, my.cnf, wpisy pulpitu lub ustawienia narzędzi, zanim usługa odmówi uruchomienia. Walidator odczytuje każdy wiersz, akceptuje sekcje, pary klucz i wartość, komentarze oraz wartości ujęte w cudzysłowy, a także zgłasza wiersze, których nie potrafi zinterpretować, niezakończone nagłówki sekcji, puste klucze i niedomknięte cudzysłowy. Wskazuje też zduplikowane klucze i sekcje oraz wyświetla każdą sekcję wraz z jej kluczami, aby można było szybko przejrzeć strukturę.

## Najczęściej zadawane pytania

### Co oznacza, że plik INI jest tutaj prawidłowy?

Każdy niepusty wiersz musi być nagłówkiem sekcji, takim jak [database], kluczem z wartością, takim jak host = localhost, albo komentarzem. Wiersz, który nie spełnia żadnego z tych warunków, niezakończony nagłówek sekcji, pusty klucz lub niedomknięta wartość w cudzysłowie oznaczają błąd. Błędy powodują oznaczenie pliku jako nieprawidłowego i są wyświetlane wraz z numerami wierszy.

### INI nie ma jednego standardu. Jakich reguł używa walidator?

Walidator stosuje popularny dialekt używany przez PHP, MySQL i wiele narzędzi: klucze i wartości są oddzielane znakiem = lub znakiem : jeśli nie ma =, komentarze zaczynają się od ; lub #, a znak ; lub # po białych znakach w wartości bez cudzysłowów rozpoczyna komentarz w wierszu. Nazwy sekcji mogą zawierać spacje, kropki i cudzysłowy, jak w sekcjach w stylu Git. Wartości nie są sprawdzane pod kątem typów, ponieważ INI nie ma typów danych.

### Co się dzieje w przypadku zduplikowanych kluczy?

Klucz zdefiniowany dwukrotnie w tej samej sekcji jest zgłaszany jako ostrzeżenie wraz z numerem wiersza drugiej definicji. Większość parserów INI zachowuje ostatnią wartość, po cichu ignorując wcześniejszą. Plik nadal jest oznaczany jako prawidłowy.

### Co się dzieje w przypadku zduplikowanych sekcji?

Powtórzony nagłówek sekcji jest zgłaszany jako ostrzeżenie, a jego klucze są łączone z kluczami pierwszego wystąpienia. Niektóre programy inaczej obsługują powtórzone sekcje, dlatego zazwyczaj najlepiej je połączyć.

### Czy obsługiwane są klucze tablicowe, takie jak extension[]?

Tak. Klucze kończące się na [] zbierają wartości w listę, jak w plikach konfiguracyjnych PHP, a ich powtórzenia nie są zgłaszane jako duplikaty. Wykaz sekcji pokazuje dany klucz tylko raz.

### Czym są klucze globalne?

Klucze występujące przed pierwszym nagłówkiem sekcji nie należą do żadnej sekcji. W wynikach są wyświetlane jako klucze globalne, a wiele narzędzi traktuje je jako wartości domyślne lub ustawienia najwyższego poziomu.

### Jak obsługiwane są wartości ujęte w cudzysłowy?

Wartości w podwójnych cudzysłowach mogą zawierać ;, # i = oraz obsługują sekwencje ucieczki \", \\, \n i \t, natomiast wartości w pojedynczych cudzysłowach są traktowane dosłownie. Niedomknięta w tym samym wierszu wartość w cudzysłowie oznacza błąd. Zewnętrzne spacje w wartościach bez cudzysłowów są usuwane.

### Jak szczegółowo wyświetlana jest struktura?

Wynik wyświetla każdą sekcję wraz z liczbą kluczy i ich nazwami, maksymalnie 200 sekcji i 50 kluczy na sekcję, a także łączną liczbę sekcji i kluczy. Wyświetlanych jest do 20 błędów i 20 ostrzeżeń, wraz z liczbą pozostałych.

### Czy rozpoznawane są zagnieżdżone sekcje, takie jak [a.b]?

Nazwy sekcji są zachowywane dokładnie w zapisanej postaci, więc [a.b] to sekcja o nazwie a.b, a nie podsekcja a. To, czy program traktuje kropki jako oznaczenie zagnieżdżenia, zależy od danego programu. Walidator sprawdza jedynie, czy nazwa nie jest pusta i czy nagłówek jest zamknięty.

### Jak duży może być plik i czy można go przekonwertować?

Dane wejściowe mogą mieć maksymalnie 5 MiB. Aby przekonwertować prawidłowy plik INI na JSON, YAML, TOML lub inny format, użyj konwertera formatów danych, który mapuje sekcje na obiekty.

Twoja reklama tutaj?

[Napisz do nas](mailto:hi@dennn.is?subject=Reklama%20w%20OneClick%20Pro)

[Reklama Pakiet wtyczek gotowy do pracy z agentami dla WordPress.](https://sleekwp.com/?ref=oneclickpro)
