Fedora-Linux.nl Forumindex Fedora-Linux.nl
Het forum van Fedora-Linux.nl.
Deze site wordt gehost door Exonet Internet Services
 
 FAQFAQ   ZoekenZoeken   GebruikerslijstGebruikerslijst   GebruikersgroepenGebruikersgroepen   RegistrerenRegistreren 
 ProfielProfiel   Log in om je privéberichten te bekijkenLog in om je privéberichten te bekijken   InloggenInloggen 

php - echo exec()
Ga naar pagina 1, 2  Volgende
 
Nieuw onderwerp plaatsen   Reageren    Fedora-Linux.nl Forumindex -> Programmeren en scripten
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
Dr Nick^
Gast





BerichtGeplaatst: Di Apr 18, 2006 6:46 pm    Onderwerp: php - echo exec() Reageren met citaat

beste mensen,

ik ben bezig met het maken van een webbased start stop programma voor een cs1.6 server,
nu heb ik dit al aan de praat gekregen op een ubuntu 5.10 breezy,
maar het wil me maar niet lukken op mijn fedora core 4 installatie,

zelfs als ik de httpd run als apache apache en maak hem owner
van alle dirs in de html map,
dan met het simpele commando "mkdir" doet hij ook al niet.

ik hoop dat jullie hier een oplossing/instelling voor hebben.

Code:
<?

include("header.php");

$action = $_GET["action"];

if ( $action == "" ) {
}


if ( $action == "start" ) {
echo exec("kill");
echo exec("cmdline");
}

if ( $action == "stop" ) {
echo exec("kill `ps auxww | grep hlds_run | grep 27015 | awk '{print $2}'`");
}

if ( $action == "update" ) {
echo exec("mkdir test");
echo exec("ja");
}

?>


zelf mkdir pakt hij niet terwijl dit toch wel zou moeten werken,
en dit script werkt wel op een ander systeem

kunnen het de settings zijn van httpd?
kunnen het de settings zijn van php?
want heb er naar gezocht maar kon het niet vinden...


Laatst aangepast door Dr Nick^ op Di Apr 18, 2006 6:55 pm; in totaal 1 keer bewerkt
Terug naar boven
kanarip



Geregistreerd op: 17 Mrt 2006
Berichten: 286
Woonplaats: Utrecht

BerichtGeplaatst: Di Apr 18, 2006 8:20 pm    Onderwerp: Reageren met citaat

exec() in PHP kent 2 parameters: command(string) en output(array).

De correcte manier om dit te doen is dan ook:

Code:

<?php

include("header.php");

$action = $_GET["action"];

if ( $action == "" ) {
}


if ( $action == "start" )
{
  exec("kill",$output1);

  print_r($output1);
  // of
  echo @implode($output1);

  exec("cmdline",$output2);

  print_r($output2);
  // of
  echo @implode($output2);

}

if ( $action == "stop" )
{
  exec("kill `ps auxww | grep hlds_run | grep 27015 | awk '{print $2}'`",$output3);
  print_r($output3);
  // of
  echo @implode($output3);

}

// enz
// enz

?>


Daarbij worden simpele commando's als exec("mkdir test") uitgevoerd relatief aan de ServerRoot, of aan de RunDir.... Niet perse relatief aan de locatie van je script-bronbestand.
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken Yahoo Messenger MSN Messenger
Dr Nick^
Gast





BerichtGeplaatst: Di Apr 18, 2006 9:07 pm    Onderwerp: Reageren met citaat

ik zal zo eens testen,
en ook zonder die @implode($output1); werkte die op die andere bak..
maja let you know

testing
Terug naar boven
kanarip



Geregistreerd op: 17 Mrt 2006
Berichten: 286
Woonplaats: Utrecht

BerichtGeplaatst: Di Apr 18, 2006 9:15 pm    Onderwerp: Reageren met citaat

Dat het gewerkt heeft, is feitelijk een onvolledigheid in oudere versies van PHP, het staat ook ergens als bug geregistreerd. Unsuspected behaviour, maar geen storing...
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken Yahoo Messenger MSN Messenger
Dr Nick^
Gast





BerichtGeplaatst: Di Apr 18, 2006 10:30 pm    Onderwerp: Reageren met citaat

vreemd, instal was php 5 dacht ik..
Terug naar boven
Dr Nick^
Gast





BerichtGeplaatst: Di Apr 18, 2006 10:47 pm    Onderwerp: Reageren met citaat

nouja werkt nog niet met nieuwe instellingen op fc4 Sad
Terug naar boven
kanarip



Geregistreerd op: 17 Mrt 2006
Berichten: 286
Woonplaats: Utrecht

BerichtGeplaatst: Wo Apr 19, 2006 4:13 pm    Onderwerp: Reageren met citaat

Welke instellingen heb je aangepast dan?

Welke PHP versie draai je op de machine waarop het wel werkt, en welke draai je op de machine waarop het niet werkt?

Welke shell heeft de user waaronder je webserver draait op beide machines?

Heb je al eens de volledige paden naar de desbetreffende commando's gebruikt? Dus /bin/mkdir ipv mkdir?
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken Yahoo Messenger MSN Messenger
Dr Nick^
Gast





BerichtGeplaatst: Wo Apr 19, 2006 6:04 pm    Onderwerp: Reageren met citaat

iemand vertelde mij dat het misschien ook aan bepaalde safe mode van php kon liggen.

ik zal die heel even moeten op zoeken.

voor zover ik weet en het goed heb dan draaien ze beide php5,
maar het exec() commando wordt al vanaf 3 ondersteunt (www.php.net)

ik ga weer rustig verder met experimenteren en zal even kijken naar jou oplosseningen
Terug naar boven
Dr Nick^
Gast





BerichtGeplaatst: Wo Apr 19, 2006 6:24 pm    Onderwerp: Reageren met citaat

ik haal dit uit error log van mijn httpd:

Code:
[client 10.0.0.168] PHP Notice:  Undefined index:  action in /var/www/html/cs/index.php on line 5
sh: /mkdir: No such file or directory
sh: /test.sh: No such file or directory


en soortgelijk uit andere errorlog van httpd:

Code:
sh: /kill: No such file or directory
sh: /cd: No such file or directory
[client 10.0.0.168] PHP Notice:  Undefined index:  action in /var/www/html/cs/index.php on line 5, referer: http://maximized-hosting/cs/index.php?action=start


ik denk dat er iets in me code niet goed is dan als ik dit zo een beetje lees...
maar ik zal het nog eens from scratch maken in linux,
misschien dat dat helpt :S

let you know!
Terug naar boven
Dr Nick^
Gast





BerichtGeplaatst: Wo Apr 19, 2006 6:32 pm    Onderwerp: Reageren met citaat

Code:
<?
echo exec("mkdir testing",$output1);
echo @implode($output1);
echo "dir aangemaakt?";
?>


geeft zelfs al errors als:

Code:
sh: /mkdir: No such file or directory
sh: /mkdir: No such file or directory
sh: /mkdir: No such file or directory
sh: /mkdir: No such file or directory
sh: /mkdir: No such file or directory
[Wed Apr 19 17:28:42 2006] [notice] caught SIGTERM, shutting down
[Wed Apr 19 17:28:42 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Apr 19 17:28:42 2006] [notice] Digest: generating secret for digest authentication ...
[Wed Apr 19 17:28:42 2006] [notice] Digest: done
[Wed Apr 19 17:28:42 2006] [notice] LDAP: Built with OpenLDAP LDAP SDK
[Wed Apr 19 17:28:42 2006] [notice] LDAP: SSL support unavailable
[Wed Apr 19 17:28:42 2006] [notice] Apache/2.0.54 (Fedora) configured -- resuming normal operations


het lijkt net of hij er een "/" voor zet,
hoe zou ik dit kunnen verhelpen?
want volgens mij is er niet veel mis aan mijn php code..
Terug naar boven
Dr Nick^
Gast





BerichtGeplaatst: Ma Apr 24, 2006 9:39 am    Onderwerp: Reageren met citaat

weet iemand hier al een oplossing voor???
Terug naar boven
kanarip



Geregistreerd op: 17 Mrt 2006
Berichten: 286
Woonplaats: Utrecht

BerichtGeplaatst: Ma Apr 24, 2006 3:18 pm    Onderwerp: Reageren met citaat

Dr Nick,

in de standaard installatie op Fedora Core heeft dit niets te maken met PHP's safe_mode instelling.

Ik wil je nogmaals attenderen op de methode volledige bestand- en mapnamen te gebruiken.
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken Yahoo Messenger MSN Messenger
Dr Nick^
Gast





BerichtGeplaatst: Ma Apr 24, 2006 10:00 pm    Onderwerp: Reageren met citaat

alles geprobeerd..

Code:
echo exec("/var/www/html/cs/test",$output10);
echo @implode($output10);
echo exec("bin/echo test",$output11);
echo @implode($output11);


geeft steeds zelfde error
sh: /test: No such file or derectory
sh: /echo: No such file or directory
Terug naar boven
kanarip



Geregistreerd op: 17 Mrt 2006
Berichten: 286
Woonplaats: Utrecht

BerichtGeplaatst: Di Apr 25, 2006 2:27 pm    Onderwerp: Reageren met citaat

Dr Nick,

volledige (absolute) paden beginnen met een /.

echo is dus eigenlijk /bin/echo, ls is /bin/ls, enz.

Indien /var/www/html/cs/test geen interpreter lijn heeft staan, en geen execute mode (755 bijvoorbeeld?), kan het bestand ook niet worden uitgevoerd.

Ik loop misschien ook iets te snel voorbij aan de mogelijkheid dat je je apache chrooted hebt draaien, is dat zo?
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken Yahoo Messenger MSN Messenger
Dr Nick^
Gast





BerichtGeplaatst: Di Apr 25, 2006 2:41 pm    Onderwerp: Reageren met citaat

hij geeft elke keer error met / zoals je kan zien,
dus die heb ik op 2 manieren getestn,
en dat is dan met bin ipv /bin en dan /echo.
en dan wel vollegige path voor test,
test is 777 dus juist alles gegeven om geen errors te krijgen.
ik weet dat absolute paden met / beginnen hoor,
ben niet zo heel erg noob als je maybe denkt Wink

euhm ik weet niet of hij chroot draait,
heb hem eigenlijk default draaien op enkele
kleine toepassingen na (.htaccess ed)

maar zal wel weer verder testen.. ooit moet ie het doen tog..
Terug naar boven
Berichten van afgelopen:   
Nieuw onderwerp plaatsen   Reageren    Fedora-Linux.nl Forumindex -> Programmeren en scripten Tijden zijn in GMT + 1 uur
Ga naar pagina 1, 2  Volgende
Pagina 1 van 2

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen in dit subforum
Je mag geen reacties plaatsen in dit subforum
Je mag je berichten niet bewerken in dit subforum
Je mag je berichten niet verwijderen in dit subforum
Je mag niet stemmen in polls in dit subforum


Powered by phpBB © 2001, 2005 phpBB Group
Vertaling door Lennart Goosens.