"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[HELP]PHP,SH + dir produziert Unfug

Hansmaulwurf 25.10.2009 - 15:05 935 4
Posts

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Hiho.
Bräuchte hier mal kurz Hilfe bitte :-/
Folgendes Problem, ich hab den PHP code :
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
Avatar
Registered: Dec 2005
Location: 127.0.0.1
Posts: 3542
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

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Wenn PHP als Apache-Modul läuft, dann ist das so. Eine Alternative wäre PHP als CGI + suexec.

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Zitat von UnleashThebeast
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/.. :D

last but not least.
Danke, Danke :)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Zitat von mat
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/
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz