[PHP] Linux & users & exec()

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
$reden = exec("/home/report.daemon/scripts/einrollung.sh $vis $dat_van $dat_tot $mailadr", $output, $return_var);
echo "reden: $reden\nreturn_var: $return_var\n";
print_r($output);


dit script word via webinterface aangeroepen.
code:
1
2
3
4
5
[report.daemon@sql530 levensloop]$ ls /home/report.daemon/ -l
total 32
drwxrwxrwx    2 report.daemon it          20480 Jul 18 10:00 backup
drwxrwxrwx    8 report.daemon it           4096 Jul  8 17:08 files
drwxrwxrwx    2 report.daemon it           4096 Jul 18 16:08 scripts


httpd.conf:
code:
1
2
User nobody
Group #-1


Maar ik kan dat script dus zo niet uitvoeren (hij geeft niets terug).
$reden = ""; $output = ""; $return_var = 0; ...

als ik darentegen het script dat ik uitvoer met exec() vanop de commandprompt uitvoer, dan gaat alles vlotjes.

Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

safe mode aanstaan?

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Effe sjekke

code:
1
2
3
; Safe Mode
;
safe_mode = Off


Ik denk dat het afstaat (/etc/php.ini)

[ Voor 81% gewijzigd door Verwijderd op 18-07-2003 16:38 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

errors?

ik bedoel dus, check ook even stderr. Aangezien de output van stderr niet opgevangen wordt, moet je even forceren dat die ook gewoon naar stdout wordt geschreven. Doe dit door een 2>&1 aan het eind van de command line te zetten

[ Voor 95% gewijzigd door .oisyn op 18-07-2003 17:02 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Effe sjekke:
ik heb dus hetvolgende gewijzigd:

PHP:
1
$reden = exec("/home/report.daemon/scripts/einrollung.sh $vis $dat_van $dat_tot $mailadr > /tmp/log1.txt 2> /tmp/log2.txt", $output, $return_var);


log1.txt
code:
1
(nix)


log2.txt
code:
1
2
3
ERROR 1045: Access denied for user: 'nobody@localhost' (Using password: NO)
cat: einrollung.17435.18-07-2003.txt: No such file or directory
dos2unix: converting file einrollung.17435.18-07-2003.2.txt to file einrollung.17435.18-07-2003.txt in UNIX format ...


OK, die error zal waarschijnlijk een fout uit mysql zijn? (het script roept via de mysql-prompt de database aan (dus musql -D Levensloop -e "<query>")...

Effe security tables checken.

[ Voor 57% gewijzigd door Verwijderd op 18-07-2003 17:07 ]


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Geef met de -u parameter de user op met welke je naar mysql wilt connecten. Default neemt hij de users die nu ingelogt is. :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
1/ "grant all on *.* to nobody"
2/ run script...
3/ log1.txt -> (nix)
4/ log2.txt -> "dos2unix: converting file einrollung.17435.18-07-2003.2.txt to file einrollung.17435.18-07-2003.txt in UNIX format ..."

mmmm, nu nog mail verw88 ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mja, mail komt niet aan uit het script (hmm?) ... Es verder checken wrom nie...
Pagina: 1