Goed waar zal ik beginnen, ik ben behoorlijk nieuw in PHP ook al heb ik wel wat ervaring met C.
Nu wou ik via de browser een COD4 server kunnen sluiten en starten, het probleem is echter dan hij alleen wil sluiten en niet meer wil starten.
Voor het starten en sluiten heb ik de scripts: start.sh en stop.sh:
start.sh
stop.sh
Deze scriptje gebruik ik om de server te restarten, en dat werkt dus prima. (ik zou deze 2 scriptjes ook weer in een .sh file kunnen zetten, met een "wait 3" ertussen. die zou ik dan restart.sh kunnen noemen maar dat terzijde)
Aan PHP heb ik stop.php en start.php:
stop.php
start.php
De uitvoer van stop.php in de browser is:
Nu komen we bij mijn probleem,
De uitvoer van start.php in de browser is:
Als ik screen -r doe is cod4 ook niet aanwezig.
Het heeft vast iets met PHP rechten te maken of met tty/ssh maar ik zou echt niet weten wat pressies...
Nog wat PHP setting:
- save_mode is of.
- max_runtime is 30 (default)
- max gehuegen verbuik is van 128 naar 512 gezet. (is niet nodig, was alleen voor het uitsluiten van het probleem, maar ter informatie een cod4 server trekt zoon 380mb)
Veder is de user die PHPen dus ook de website's afhandelt dezelfde als die de servers start.
ik weet dat het onveilig is, maar ik werd gek van telkens rechten goed zetten tijdens het deven
Wie snapt er iets van? [lees: help!]
Nu wou ik via de browser een COD4 server kunnen sluiten en starten, het probleem is echter dan hij alleen wil sluiten en niet meer wil starten.
Voor het starten en sluiten heb ik de scripts: start.sh en stop.sh:
start.sh
code:
1
2
3
4
5
6
7
8
9
10
| #! /bin/sh echo "Starting cod4 server from /srv/cod/cod4 with screen name 'cod4'" #change working directory cd /srv/cod/system #run the server in a screen session screen -dmS cod4 /srv/cod/system/cod4_lnxded-c +set dedicated 2 +set fs_homepath /srv/cod/cod4 +set net_ip 94.75.209.179 +set net_port 28960 +exec default_mp.cfg +map_rotate echo "end shell" |
stop.sh
code:
1
2
3
4
5
6
7
| #! /bin/bash echo "Stoping cod4 server from /srv/cod/cod4 with screen name 'cod4'" #open the cod4 screen session and send "quit [enter]" screen -S cod4 -p 0 -X eval 'stuff quit\015' echo "end shell" |
Deze scriptje gebruik ik om de server te restarten, en dat werkt dus prima. (ik zou deze 2 scriptjes ook weer in een .sh file kunnen zetten, met een "wait 3" ertussen. die zou ik dan restart.sh kunnen noemen maar dat terzijde)
Aan PHP heb ik stop.php en start.php:
stop.php
PHP:
1
2
3
4
| <?php $output = shell_exec('../../../srv/cod/cod4/stop.sh'); echo "<pre>$output</pre>"; ?> |
start.php
PHP:
1
2
3
4
| <?php $output = shell_exec('../../../srv/cod/cod4/start.sh'); echo "<pre>$output</pre>"; ?> |
De uitvoer van stop.php in de browser is:
Waarbij de server ook daadwerkelijk gestopt word. als hij al gestopt is zegt hij: "No screen session found."Stoping cod4 server from /srv/cod/cod4 with screen name 'cod4'
end shell
Nu komen we bij mijn probleem,
De uitvoer van start.php in de browser is:
De scripten worden dus helemaal uitgevoerd maar de server word dus niet opgestart.Starting cod4 server from /srv/cod/cod4 with screen name cod4'
end shell
Als ik screen -r doe is cod4 ook niet aanwezig.
Het heeft vast iets met PHP rechten te maken of met tty/ssh maar ik zou echt niet weten wat pressies...
Nog wat PHP setting:
- save_mode is of.
- max_runtime is 30 (default)
- max gehuegen verbuik is van 128 naar 512 gezet. (is niet nodig, was alleen voor het uitsluiten van het probleem, maar ter informatie een cod4 server trekt zoon 380mb)
Veder is de user die PHPen dus ook de website's afhandelt dezelfde als die de servers start.
ik weet dat het onveilig is, maar ik werd gek van telkens rechten goed zetten tijdens het deven
Wie snapt er iets van? [lees: help!]
