PDA

Bekijk Volledige Versie : [Plesk][PHP] shell_exec



Yourix
02/02/09, 01:13
Probleem omschrijving:
Ik probeer een .sh bestand te openen, maar hij geeft niets weer. Als ik de test.sh open via putty dan werkt hij wel gewoon, maar zodra ik hem wil openen via de php script met shell_exec doet hij het niet. safe mode staat niet aan dus daar kan het niet aan liggen.

Script:
PHP:

<?php $output = shell_exec('./test.sh http://download.eset.com/eval/win/eav/eav_nt32_enu.msi); echo "<pre>$out</pre>"; ?>

test.sh

wget $1

Mijn toegankelijkheid:
Root access, ook heeft mijn hosting toegang op de shell.

Ramon Fincken
02/02/09, 01:27
ik zie een $ouput en een $out, heeft t daar niet mee te maken?

Tim.Bracquez
02/02/09, 01:36
probeer eens <? echo shell_exec("whoami"); ?> als dit een output geeft gaat shell_exec, dit kan wel eens uitgeschakeld staan(via <? phpinfo(); ?> kan je de disabled functions bekijken of in de php.ini).

Probeer eventueel het full path naar test.sh op te geven, heeft dit bestand wel execute rechten? (vermoedelijk wel als dit via command line wel gaat)

EDIT: dit staat er "shell_exec('./test.sh http_link_je_hier)"
moet daar niet nog een quote bij? dus shell_exec('./test.sh http_link_je_hier')
eveneens ook $output en $out... zoals Ramon je al aangaf

Ramon Fincken
02/02/09, 01:44
of je path natuurlijk :)

teruste!

Yourix
02/02/09, 08:57
probeer eens <? echo shell_exec("whoami"); ?> als dit een output geeft gaat shell_exec, dit kan wel eens uitgeschakeld staan(via <? phpinfo(); ?> kan je de disabled functions bekijken of in de php.ini).

Probeer eventueel het full path naar test.sh op te geven, heeft dit bestand wel execute rechten? (vermoedelijk wel als dit via command line wel gaat)

EDIT: dit staat er "shell_exec('./test.sh http_link_je_hier)"
moet daar niet nog een quote bij? dus shell_exec('./test.sh http_link_je_hier')
eveneens ook $output en $out... zoals Ramon je al aangaf

Beste,

Ja whoami, ls -a en dergelijke commando's werken wel gewoon, maar als het op een .sh bestand uitkomt lijkt het wel of ik geen rechten heb. WGET werkt ook gewoon niet. Erg appart dus!

In de php.ini kan ik niet iets vinden dat het uitgeschakeld staat o.id.

Tim.Bracquez
02/02/09, 09:14
doe eens /bin/bash /home/user/.../test.sh,

probeer eens het script eerst uit te voeren zonder de extra url om te kijken of die wel sh scripts draait...

Yourix
02/02/09, 10:55
doe eens /bin/bash /home/user/.../test.sh,

probeer eens het script eerst uit te voeren zonder de extra url om te kijken of die wel sh scripts draait...

Gebeurt precies het zelfde - white screen :(

Japje
02/02/09, 12:02
en als je nou direct eens wget aanroept? wat krijg je dan? want wget moet het in princiepe gewoon doen :)

mikeh
02/02/09, 12:23
Heb je wel de juiste permissies in de directory waar je dat bestand wilt schrijven ?

PeterT
02/02/09, 12:45
Gebruik eens het volledige path voor wget in je test.sh en knal een shebang bovenin de .sh.

mikeh
02/02/09, 13:12
echo "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/bin; export PATH" > ~/.profile
(/usr/X11R6/bin is optioneel)

Yourix
02/02/09, 22:21
Het werkt nu, was een permissie fout. Hartelijk dank voor de reacties, cleared up my mind ! :)

Ramon Fincken
02/02/09, 22:21
kijk es aan, thanks voor de update !!