• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Subversion Repository anlgegen per PHP-exec Befehl

Hallo,

ich habe folgendes Problem:
Ich möchte mit PHP ein Repository anlgegen. PHP stellt den Befehl exec bereit um Befehle auf dem Server auszuführen. Wenn ich nun aber mit exec "svnadmin create /opt/.../myRepository/" ausführe passiert nichts.
Befehle wie mkdir usw. klappen. Nur svnadmin funktioniert nicht.
Wenn ich mich normal auf dem Server anmelde und den Befehl ausführe klappt alles wunderbar.

Vermutung: Der User, mit dem der Exec Befehl ausgeführt wird hat nicht genug Rechte.

Danke schonmal im Vorraus für Tips ;)
 

ginka

Member
Hast du eine Fehlermeldung im Log-File des Webservers?

Und wie ist deine PHP-Konfiguration (Datei php.ini)? Ist der "Safe Mode" eingeschaltet? Dann sind verschiedene php-Funktionen eingeschränkt oder deaktiviert, und zwar insbesondere Funktionen zur Ausführung von Betriebssystem-Kommandos bzw. Scripten: http://de.php.net/manual/de/features.safe-mode.php

Gruß
ginka
 

nbkr

Guru
Abgesehen von den Rechten, findet sich svnadmin auch im Pfad des Webserverusers. Weiß PHP also wo es svnadmin finden kann?
 
OP
C

cowabunga1984

Newbie
Hi,

habe gerade WebVNC ausprobiert und dort kommt folgende Fehlermeldung:
Code:
Fehler beim Ausführen des Befehls: svnlook youngest '/opt/subversion/Repositorys/Subverami/cowiBu02'

sh: svnlook: command not found
Ich denke mal, dass nbkr Recht hat und PHP nicht weis, wo es die Subversion Befehle findet. Leider kenne ich mich mit Linux nicht so gut aus und habe keine Ahnung was ich jetzt machen muss. Ich hab auch keine Ahnung nach was man da im google oder so suchen muss.
Währe nett, wenn mir jemand helfen könnte ;)

Danke schonmal ;)

Gruß
cowabunga
 

nbkr

Guru
Wenn Du SSH Zugriff auf die Maschine hast (und den hast Du höchstwahrscheinlich) dann mach mal ein "which svnadmin". Das liefert dir den Pfad zu svnadmin. Ist vermutlich /usr/bin/svnadmin oder so ähnlich. Diese angabe nutzt Du dann in deinem PHP Script.

Was ist eigentlich WebVNC?
 
OP
C

cowabunga1984

Newbie
Habe mal "which admin" ausgeführt und folgendes bekommen:
/usr/local/bin/svnadmin

Ich würde svnadmin allerdings gerne als normalen Befehl für PHP bereitstellen, da sonst WebSVN nicht läuft (WebVNC war ein Verschreiber ^^).

Gruß
cowabunga
 
Oben