Ich bin gerade dabei, eine PHP-basierte Support-Oberfläche zu erstellen, die aus CVS die jeweils aktuellste Download-Version eines Programmes holt.
Dazu gebe ich auf Console zum Beispiel die Befehle
ein.Code:cd /web/httpd/htdocs/support/download cvs -d /usr/cvs export -D 2002-10-26 Modulname cd /web/httpd/htdocs/support/download/Modulname tar cfz Modulname.tgz *
"2002-10-29" ist das aktuelle Tagesdatum, damit die neueste Version geladen wird,
"Modulname" ist der Name des Projektes.
Die exec() -, system() -, passthru - Funktionen funktionieren in diesem Fall (zumindest auf unserem Server) nicht mit dem cvs-Kommando, da sie nicht in die Unterverzeichnisse abtauchen - habe alles mögliche probiert.
Dagegen funktioniert zum Beispiel der Aufruf einer BASH-Datei mit obengenanntem Inhalt:
hervorragend.PHP-Code:
exec("export.sh")
Jedoch sind "Modulname" und Datum (Schalter -D) Variablen, die der Besucher wählen soll. So ist stattzum Beispiel auch der SchalterCode:-D <datum>möglich.Code:-r <versionsnummer>
Das PHP ist kein Problem für mich, aber BASH.
Wie kann ich nun zum Beispiel die aus PHP übergebenen Parameter in dem BASH-Script auswerten, wenn ich die Variablen aus dem PHP-Script etwa in der Form übergebe?PHP-Code:
exec("export.sh --date=$date --modul=$modulname")
Leider habe ich noch nie ein Bash-Script selber konfiguriert oder geschrieben.
Lesezeichen