[HELP]PHP,SH + dir produziert Unfug
Hansmaulwurf 25.10.2009 - 15:05 935 4
Hansmaulwurf
u wot m8?
|
Hiho. Bräuchte hier mal kurz Hilfe bitte :-/ Folgendes Problem, ich hab den PHP code : $myFile = "neu.sh";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "cd \ncd Desktop/blast-2.2.21/bin/\n";
fwrite($fh, $stringData);
$stringData = "./blastall -p blastn -d swissprot -i testFile.txt -o outpur.text \n ";
fwrite($fh, $stringData);
fclose($fh);
exec("sh /Library/WebServer/Documents/neu.sh",$results);
Damit entsteht mir ein "neu.sh" File mit dem Inhalt: cd cd Desktop/blast-2.2.21/bin/ ./blastall -p blastn -d swissprot -i testFile.txt -o outpur.text Wenn ich es mit dem Form ausführe, dann schreibt er mir die "outpur.text" Datei die das Argument ist, für den output aber in den lokalen Folder(Apache Ordner), wenn ich das .sh File mit dem Terminal aufmach haut aber alles hin und es kommt in den Desktop Ordner ? Woran kann das liegen :-/ sh_exec hat keine Besserung gebracht, das hatte ich schon, Rechte sollten die gleichen bei beiden Ordnern sein (chmod 755). Danke schonmal
|
UnleashThebeast
Mr. Midlife-Crisis
|
Wenn dus mit PHP machst, wird das File mit dem User von Apache ausgeführt, der wird den Apache Folder wohl als Homedir haben?
|
mat
AdministratorLegends never die
|
Wenn PHP als Apache-Modul läuft, dann ist das so. Eine Alternative wäre PHP als CGI + suexec.
|
Hansmaulwurf
u wot m8?
|
Wenn dus mit PHP machst, wird das File mit dem User von Apache ausgeführt, der wird den Apache Folder wohl als Homedir haben? Also d.h. wenn der Apache User Konsolen-Befehle ausführt hat der Apache Server als home Verzeichniss das wo der Document-root ist, und damit bin ich mit nem von Apache via Konsole ausgeführten "cd" (auch über shell) in dem Verzeichnis ? P.s. Ich habs gestern in der Nacht noch mit verwenden von totalen Verzeichnissen richten können. Wusste nur nicht wie das bei MacOS aufgebaut ist, aber eh einfach mit /user/.. last but not least. Danke, Danke
|
COLOSSUS
AdministratorGNUltra
|
Wenn PHP als Apache-Modul läuft, dann ist das so. Eine Alternative wäre PHP als CGI + suexec. Eine weitere Alternative ist das Apache MPM "ITK": http://mpm-itk.sesse.net/
|