[PHP & Apache] uitvoeren .sh script

Pagina: 1
Acties:

  • acq
  • Registratie: Mei 2000
  • Laatst online: 30-03-2023

acq

ing. en dan? :D

Topicstarter
Op mijn Linux server draait Apache met PHP. Nu wil ik graag een scriptfile uit laten voeren door middel van een php file. Alles lijkt goed te gaan (geen errors ofzo). Maar het script wordt nooit uitgevoerd. Ik roep het als volgt aan:


exec("statsrun.sh");

Volgende werkt ook:

system("statsrun.sh");


Ik heb ook al even een perl file aangemaakt (met daarin exec "script.sh"), maar dat wordt kennelijk niet vanaf de website uitgevoerd.

Lijkt dus of het aan Apache ligt. Maar misschien zie ik iets over het hoofd?

Overigens staat statsrun.sh uiteraard in dezelfde webdir als de PHP file en heeft het script de volgende rechten:
code:
1
-rwxrwxr-x    1 marc     users     711 Nov 13 14:59 statsrun.sh

Na 5 jaar toch maar eens een nieuwe sig :X | Roze nerdjes; ze bestaan ;P | All we need is one world wide vision - Queen | Novell servers reboot je om 11 uur, logisch toch? |:(


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Misschien een stomme vraag, maar werkt het script wel als je hem gewoon op de prompt draait?

Anders moet je eens proberen het volledige path op te geven.

  • acq
  • Registratie: Mei 2000
  • Laatst online: 30-03-2023

acq

ing. en dan? :D

Topicstarter
Op dinsdag 13 november 2001 15:39 schreef kaandorp het volgende:
Misschien een stomme vraag, maar werkt het script wel als je hem gewoon op de prompt draait?

Anders moet je eens proberen het volledige path op te geven.
Werkt wel gewoon op de prompt. Volledige pad meegeven helpt ook niets.

Na 5 jaar toch maar eens een nieuwe sig :X | Roze nerdjes; ze bestaan ;P | All we need is one world wide vision - Queen | Novell servers reboot je om 11 uur, logisch toch? |:(


  • paulh
  • Registratie: Juli 1999
  • Laatst online: 22-06 15:30
su anders eens naar "nobody" ... dan ben je dezelfde user als apache en probeer het script nog eens te runnen. Misschien mist deze user een aantal rechten.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • acq
  • Registratie: Mei 2000
  • Laatst online: 30-03-2023

acq

ing. en dan? :D

Topicstarter
Op dinsdag 13 november 2001 17:12 schreef paulh het volgende:
su anders eens naar "nobody" ... dan ben je dezelfde user als apache en probeer het script nog eens te runnen. Misschien mist deze user een aantal rechten.
Da's een goeie! nobody kan inderdaad niet dat script helemaal uitvoeren. Wel starten, maar hij kan bijvoorbeeld niet cd /home/marc ofzo doen! (niet aan gedacht). Tnx! Zal kijken of ik daar wat op kan vinden.

Na 5 jaar toch maar eens een nieuwe sig :X | Roze nerdjes; ze bestaan ;P | All we need is one world wide vision - Queen | Novell servers reboot je om 11 uur, logisch toch? |:(


  • acq
  • Registratie: Mei 2000
  • Laatst online: 30-03-2023

acq

ing. en dan? :D

Topicstarter
Nog 1 vraagje. Ik heb in httpd.conf als user "indiaan" en als groep "stats" opgegeven. Lokaal uitvoren werkt nu (na aanpassen van enkele rechten). Echter met PHP nog niet. In /var/log/httpd/error_log staat het volgende:
code:
1
2
[Tue Nov 13 20:23:47 2001] [alert] (14)Bad address: FastCGI: openf() of fcgi_dynamic_mbox "(null)" failed
sh: /statsrun.sh: No such file or directory

Waar dat verhaal over CGI op slaat weet ik niet (weet te weinig van PHP en het script is niet van mij). Het slaat hier op terug neem ik aan:
code:
1
  $runtijden = fopen ("/usr/local/httpd/htdocs/rc5/runtijden.txt","r+");

Wat betreft no such file or directory, in dit geval heb ik het pad er al bij opgegeven:
code:
1
exec("/usr/local/httpd/htdocs/rc5/statsrun.sh");

Dus dat kan niet.


Nou las ik in een topic dat ik met de search vond iets over "backticks". Dat heb ik ook geprobeerd:
code:
1
exec(`/usr/local/httpd/htdocs/rc5/statsrun.sh`);

Met dit effect
code:
1
2
3
4
5
6
/usr/local/httpd/htdocs/rc5/statsrun.php(9) : Warning - Cannot execute using backquotes in safe mode
/usr/local/httpd/htdocs/rc5/statsrun.php(9) : Warning - Cannot execute using backquotes in safe mode
[Tue Nov 13 20:25:57 2001] [notice] child pid 29375 exit signal Segmentation fault (11)
[Tue Nov 13 20:25:57 2001] [notice] child pid 29374 exit signal Segmentation fault (11)
/usr/local/httpd/htdocs/rc5/statsrun.php(9) : Warning - Cannot execute using backquotes in safe mode
[Tue Nov 13 20:26:03 2001] [notice] child pid 29656 exit signal Segmentation fault (11)

Na 5 jaar toch maar eens een nieuwe sig :X | Roze nerdjes; ze bestaan ;P | All we need is one world wide vision - Queen | Novell servers reboot je om 11 uur, logisch toch? |:(


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 14-09 09:56
Je krijgt een veiligheidswaarschuwing van php (safe mode staat aan, zie php.net voor meer informatie over safe mode). Je mag blijkbaar geen / in je pad van de file gebruiken (dus de file mag alleen maar in de huidige directory van php staan).

Waar is je webserver btw mee bezig? Segmentation faults in de childs?!

CGI staat voor "Common Gateway Interface" en dat is zeg maar de link tussen je webserver en je sh scriptje.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • acq
  • Registratie: Mei 2000
  • Laatst online: 30-03-2023

acq

ing. en dan? :D

Topicstarter
Op dinsdag 13 november 2001 21:52 schreef Infinitive het volgende:
Je krijgt een veiligheidswaarschuwing van php (safe mode staat aan, zie php.net voor meer informatie over safe mode). Je mag blijkbaar geen / in je pad van de file gebruiken (dus de file mag alleen maar in de huidige directory van php staan).

Waar is je webserver btw mee bezig? Segmentation faults in de childs?!

CGI staat voor "Common Gateway Interface" en dat is zeg maar de link tussen je webserver en je sh scriptje.
Bestand staat in de dir waarin het betreffende PHP bestand wordt uitgevoerd. Waar PHP zelf staat, weet ik zo niet direct.

Nou met niets bijzonders eigenlijk. Gewoon een website hosten (zie homepage link enzo). Heb eerder wat segmentation troubles en nog zo wat gehad, waarbij uiteindelijk de verdenking op het geheugen viel. Andere server (d.w.z. mobo proc en mem). Als er nu dus weer segmentation fults en ander wazig spul optreedt is dat te wijden aan de HDD denk ik. 'k denk niet dat dit zoveel met PHP van doen heeft BTW.

Dat wist ik niet, tnx.

Na 5 jaar toch maar eens een nieuwe sig :X | Roze nerdjes; ze bestaan ;P | All we need is one world wide vision - Queen | Novell servers reboot je om 11 uur, logisch toch? |:(

Pagina: 1