kommandozeilenbefehle mit php?

relaxodeluxe

Mitglied
morgen zusammen.

kann ich mit php kommandozeilen befehle ausführen? ich brauche das, um ne datenbank zu füllen. (nein, nicht MySQL oder ähnliches, da ist mir der umgang klar). es geht um eine XML-DB.

gruss
reldel
 
per exec() oder system() kannst du beliebige programme ansprechen, auch irgendein commandozeilenprogramm...
 
Hiho,
ich versuch grade einen bash Befehl über mei script auszufuehren.

Hab exec() system() und passthru() probiert aber, esfunktioniert nich :(
Muss ich da auf irgendwelche Rechteangelegenheiten achten?
Ich finde in Foren immer nur : "Script ausfuehren? nimm halt exec()"
Bei allen anderen scheint das so einfach zu klappen :(

Danke

Gruß

Frank
 
Was bekommst du denn für eine Fehlermeldung? Wie sieht dein Code aus? Schonmal Backticks probiert?
PHP:
<?php
`/home/jr/meinscript.sh`;
?>
Ist das Script mit x-Rechten ausgestattet?
 
Das +x prüfe ich dann mal.

Das Script sieht in etwa so aus:

PHP:
$script = 'perl script.pl';  // erstellt datei.txt
exec($script);
// dann verarbeitung

$handle = fopen("datei.txt, "r""); 

// usw..

Fehlermeldung kommt in der Form, dass das php Script die Datei nich öffnen kann, weil sie nicht existiert. :(

Gruß

Frank

update:

Also ich hab dem php File sogar 777 gegeben und es geht trotzdem nich :( Gibts noch was zu beachten?
 
Zuletzt bearbeitet:
Nicht das PHP-Script, ich dachte ehr an das Shell-Script, aber das gibts ja nicht.
Ist die Perl-Binary in $PATH zu finden? Functioniert dein Perl-Script mit sicherheit?
 
Ja , wenn ichs auf der Shell ausfuehre, gehts und macht genau das was es soll..
Nur der aufruf per php funktioniert nicht.
Und das perlscript mueste doch nichtmal +x sein, wenn cihs auf der Kommandozeile mit Interpreter aufrufe oder?
Der String heisst ja "perl meinscriptdatei.pl"

:(

Gibts da aktivier/deaktiereinträge in der php.ini ? Um sowas zu verhindern?
Noch Vorschläge? Bin ratlos .
 
Zuletzt bearbeitet:
Original geschrieben von BeaTBoxX
Und das perlscript mueste doch nichtmal +x sein, wenn cihs auf der Kommandozeile mit Interpreter aufrufe oder?
Der String heisst ja "perl meinscriptdatei.pl"

Ja, das ist richtig. Hm, ich bin relativ ratlos. Liegt alles im richtigen Verzeichnis? Ist evt. der Safemode aktiviert? Häng doch mal deine php.ini an, vieleicht kann man daraus was herleiten...
 
habs..

Der User unter dem der Apache läuft muss natuerlich auch die Rechte haben das Ding auszufuehren
UND die Rechte dort in dem Verzeichnis eine Datei zu schreiben.

Danke trotzdem :)
 
Zurück