Ich habe dieses kleine BASH-Skript geschrieben, das einen Ordner erstellt, Wordpress entpackt und eine Datenbank für eine Site erstellt.
Der letzte Schritt besteht darin, Wordpress zu installieren, was normalerweise bedeutet, dass Sie Ihren Browser auf install.php verweisen und ein Formular in der GUI ausfüllen.
Ich möchte dies von der BASH-Shell aus tun, kann aber nicht herausfinden, wie wp_install () aufgerufen wird und die benötigten Parameter übergeben:
-admin_email
-admin_passwort
-weblog_title
-user_name
(Zeile 85 in install.php)
Hier ist eine ähnliche Frage, , aber in Python
%Vor%Wie kann ich das Skript so ändern, dass das Installationsprogramm automatisch ausgeführt wird, ohne dass ein Browser geöffnet werden muss?
Ich hatte das gleiche Problem wie du. Ich habe Victors Methode versucht und es hat nicht ganz funktioniert. Ich habe ein paar Änderungen vorgenommen und es funktioniert jetzt! Sie müssen PHP-Tags innerhalb des Skripts hinzufügen, damit der Code funktioniert, andernfalls wird nur das Terminal angezeigt.
Mein Skript ruft direkt die wp_install-Funktion von upgrade.php auf, wobei install.php vollständig umgangen wird (keine Änderungen an anderen Dateien erforderlich).
Ich habe mein Skript namens script.sh erstellt, es ausführbar gemacht, es im Verzeichnis wp-admin abgelegt und vom Terminal aus ausgeführt.
%Vor% Ich habe die Datei folgendermaßen aufgerufen: # ./script.sh SiteName UserName [email protected] Password
Vielleicht müssen Sie das Wordpress-Original-Installationsprogramm ein wenig ändern.
Erstellen Sie zuerst ein Wrapper-PHP-CLI-Skript, sagen wir, sein Name ist wrapper.sh
:
Damit können Sie das Skript über die Befehlszeile aufrufen und Argumente direkt an das $ opt-Array übergeben.
Sie können dann die benötigten Variablen in einer von Ihnen definierten Reihenfolge übergeben, zum Beispiel:
./wrapper.sh <admin_email> <admin_password> <weblog_title> <user_name>
In install.php
müssen Sie die Definition der zuvor erwähnten vars wie folgt ändern:
Dann lassen Sie das Installationsskript seine Aufgabe erledigen.
Dies ist eine noch nicht getestete Methode und auch offen für alle Änderungen, die Sie benötigen. Es ist hauptsächlich eine Richtlinie für die Verwendung eines Wrapper-PHP / CLI-Skripts, um die benötigte Variable zu definieren, ohne sie über eine HTTP-REQUEST / Abfrage-Zeichenfolge senden zu müssen. Vielleicht ist es eher eine seltsame Art, Dinge zu erledigen, also bitte, zögern Sie nicht, irgendein konstruktives / destruktives Feedback zu geben: -)
Dieses Skript wird Folgendes automatisieren: