Ich möchte die Einstellungen, die ich auf zwei verschiedenen Servern habe, vergleichen. Beide sind Shared-Hosting, also denke ich nicht, dass ich genug Zugriff habe, um es anders zu machen, aber programmatisch mit phpinfo. Jetzt, da ich die 2 Ausgänge habe, möchte ich sie vergleichen, ohne sie manuell zu untersuchen. Gibt es einen automatisierten Weg dafür?
Als
Aus dem PHP-Handbuch zu phpinfo()
:
Gibt eine große Menge an Informationen über den aktuellen Status von PHP aus. Dies beinhaltet Informationen über PHP-Kompilierungsoptionen und -erweiterungen, die PHP-Version, Serverinformationen und -umgebung (falls als Modul kompiliert), die PHP-Umgebung, OS-Versionsinformationen, Pfade, Master- und lokale Werte der Konfigurationsoptionen, HTTP-Header und PHP Lizenz.
phpinfo()
bewirkt mehr als nur das Ausdrucken von php.ini
-Einstellungen.
Wenn Sie php.ini
-Einstellungen manuell verarbeiten möchten, können Sie ausprobieren ini_get_all()
anstelle von phpinfo()
. Dies gibt ein Array aller Konfigurationswerte zurück.
Sie könnten die Ausgabe von ini_get_all()
von Server A auf Server B übertragen (zum Beispiel mit var_export()
, um PHP-Code zum Erstellen des Arrays zu erstellen, oder serialize()
), dann array_diff_assoc()
, um die Einstellungen zu vergleichen.
export.php : (Server A)
%Vor%compare.php : (Server B)
%Vor%Ich habe diese Frage gefunden, indem ich gesucht und anschließend ein Skript gefunden habe, das genau das tut, was ich wollte (und ich erwarte auch, dass das OP es wollte).
Angenommen, Sie haben einen Webserver mit curl, setzen Sie compare.php einfach in ein Verzeichnis und ändern Sie die Werte von $ site1 und $ site2 in URLs, die phpinfo abrufen und Sie haben einen leicht lesbaren, hübschen Druckunterschied. Siehe Beispiel in seinem Blog - Ссылка
Vergleichen Sie zwei php.ini-Dateien einfach mit einer parse_ini_file -Funktion
Beispielcode-Snippet
%Vor%Ausgabe
Dann nimm die Ausgaben und füge sie in Ссылка oder dein Lieblings-Diff-er ein.