INI-validator
Valideer INI-configuratiebestanden zoals php.ini, my.cnf, desktopvermeldingen of toolinstellingen voordat een service niet meer wil starten. De validator leest elke regel, accepteert secties, sleutel-waardeparen, opmerkingen en waarden tussen aanhalingstekens, en meldt regels die niet worden begrepen, niet-afgesloten sectiekoppen, lege sleutels en niet-afgesloten aanhalingstekens. Ook markeert de validator dubbele sleutels en secties en vermeldt hij elke sectie met de bijbehorende sleutels, zodat u de structuur in één oogopslag kunt controleren.
Veelgestelde vragen
Wanneer is een INI-bestand hier geldig?
Elke niet-lege regel moet een sectiekop zijn, zoals [database], een sleutel met een waarde, zoals host = localhost, of een opmerking. Een regel die hier niet aan voldoet, een niet-afgesloten sectiekop, een lege sleutel of een niet-afgesloten waarde tussen aanhalingstekens is een fout. Fouten maken het bestand ongeldig en worden vermeld met hun regelnummer.
INI heeft geen eenduidige standaard. Welke regels gebruikt de validator?
De validator volgt de gebruikelijke dialectvariant van PHP, MySQL en veel tools: sleutels en waarden worden gescheiden door = of, als er geen = is, door :, opmerkingen beginnen met ; of #, en een ; of # na witruimte in een waarde zonder aanhalingstekens begint een inline-opmerking. Sectienamen mogen spaties, punten en aanhalingstekens bevatten, zoals in secties in Git-stijl. Waarden worden niet op type gecontroleerd, omdat INI geen gegevenstypen heeft.
Wat gebeurt er met dubbele sleutels?
Een sleutel die twee keer in dezelfde sectie is gedefinieerd, wordt als waarschuwing gemeld, met de regel van de tweede definitie. De meeste INI-parsers behouden de laatste waarde, waardoor de eerdere stilzwijgend wordt genegeerd. Het bestand wordt nog steeds als geldig gemeld.
Wat gebeurt er met dubbele secties?
Een sectiekop die opnieuw voorkomt, wordt als waarschuwing gemeld en de sleutels ervan worden samengevoegd met die van de eerste vermelding. Sommige programma's behandelen herhaalde secties anders, dus meestal kunt u ze het beste samenvoegen.
Worden arraysleutels zoals extension[] ondersteund?
Ja. Sleutels die eindigen op [] verzamelen hun waarden in een lijst, zoals in PHP-configuratiebestanden. Herhaald gebruik wordt niet als dubbel gemeld. De sectielijst toont de sleutel één keer.
Wat zijn globale sleutels?
Sleutels die vóór de eerste sectiekop voorkomen, behoren niet tot een sectie. Ze worden in het resultaat vermeld als Globale sleutels. Veel tools behandelen ze als standaardwaarden of instellingen op het hoogste niveau.
Hoe worden waarden tussen aanhalingstekens verwerkt?
Waarden tussen dubbele aanhalingstekens mogen ;, # en = bevatten en ondersteunen de escapes \", \\, \n en \t. Waarden tussen enkele aanhalingstekens worden letterlijk overgenomen. Een waarde tussen aanhalingstekens die niet op dezelfde regel wordt afgesloten, is een fout. Witruimte rond waarden zonder aanhalingstekens wordt verwijderd.
Hoeveel van de structuur wordt weergegeven?
Het resultaat vermeldt elke sectie met het aantal sleutels en de sleutelnamen, tot maximaal 200 secties en 50 sleutels per sectie, plus het totale aantal secties en sleutels. Er worden maximaal 20 fouten en 20 waarschuwingen getoond, met een telling van eventuele extra meldingen.
Worden geneste secties zoals [a.b] herkend?
Sectienamen worden exact overgenomen zoals ze zijn geschreven. [a.b] is dus een sectie met de naam a.b en geen subsectie van a. Of een programma punten als nesten behandelt, hangt van dat programma af. De validator controleert alleen of de naam niet leeg is en de kop is afgesloten.
Hoe groot mag het bestand zijn en kan ik het converteren?
Invoer mag maximaal 5 MiB groot zijn. Gebruik de Data Format Converter om een geldig INI-bestand om te zetten naar JSON, YAML, TOML of een ander formaat. Secties worden daarbij omgezet in objecten.