(Warum hat PHP auch mehrere ini's?)
Ganz einfach! Wenn man PHP in einer Shell ausführt sind in der Regel ganz andere Einstellungen nötig als wenn es der Webserver macht. Bei dem wieder muss man unterscheiden zwischen PHP als Modul, PHP als (F)CGI. Dazu kommt noch die Möglichkeit eine PHP.ini im DOCUMENT_ROOT abzulegen.
Wenn man es so will kann man außerdem die PHP.ini in übersichtliche Abschnitte zerlegen. Beispiel hierfür ist der Apache, dessen monolithische Konfigurationsdatei (nach der Installation) zuletzt so groß war (über 5000 Zeilen), dass die Administratoren, um das Ding noch händelbar zu halten, mit etwas wie einem einem
cp http.conf http.original && grep -v '^#' http.original > http.conf
auf ca. 200 Zeilen "eindampften". Wodurch natürlich die Kommentare weg waren.
Statt dessen gibts beim Apache jetzt bequeme Abschnittsdateien.