Das_Gnu
29-10-2002, 15:50
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
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 * ein.
"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:
exec("export.sh") hervorragend.
Jedoch sind "Modulname" und Datum (Schalter -D) Variablen, die der Besucher wählen soll. So ist statt
-D <datum> zum Beispiel auch der Schalter
-r <versionsnummer> möglich.
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
exec("export.sh --date=$date --modul=$modulname")?
Leider habe ich noch nie ein Bash-Script selber konfiguriert oder geschrieben.
Dazu gebe ich auf Console zum Beispiel die Befehle
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 * ein.
"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:
exec("export.sh") hervorragend.
Jedoch sind "Modulname" und Datum (Schalter -D) Variablen, die der Besucher wählen soll. So ist statt
-D <datum> zum Beispiel auch der Schalter
-r <versionsnummer> möglich.
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
exec("export.sh --date=$date --modul=$modulname")?
Leider habe ich noch nie ein Bash-Script selber konfiguriert oder geschrieben.