Beste mensen,

Ik heb over dit onderwerp al veel dingen gelezen, zoals:
klik

Nu wil ik dit maken:
Dat je op een pagina kan zien welke servers er aan en uit zijn ( welke porten op 217.21.241.251 bedoel ik dus ) en dan dat je kan kiezen om de game-server die bij die Port hoort aan of uit te zette.
Ik weet dat het mogelijk is met bijvoorbeel webmin, maar ik wil het graag zelf doen & leren. ( anders heb ik er nog niks aan.. )

Ik weet dat er in andere topics dit ook allemaal is besproken, maar ik kon nergens een ander goed antwoord vinden.

Zou iemand me kunnen helpen??? ( nog 1 ding: de server is he-le-maal van mezelf, ik kan dus als root inloggen, en de website om de server te beheren, draait op een ANDERE server dan die beheerd moet worden. )

Mijn Operating System op de server is: FreeBSD 5.4

MvG,
Niek

edit: url aangepast
Je moet wel een variabele code meegeven...

open_terminal('doe iets');

<?php
$code = "exec";  // hier de probeer manier
   function open_terminal($code) {
      if(function_exists('exec')) {
         exec($code, $buffer);
         $this->data = implode("n" , $buffer);
      } elseif(function_exists('shell_exec')) {
         $this->data = shell_exec($code);
      } elseif(function_exists('system')) {
         ob_start();
         system($code);
         $this->data = ob_get_contents();
         ob_end_clean();
      } elseif(function_exists('passthru')) {
         ob_start();
         passthru($code);
         $this->data = ob_get_contents();
         ob_end_clean();
      } elseif(is_resource($handle = popen($code, "r"))) {
         while(!feof($handle)) {
            $this->data .= fread($handle, 1024);
         }
         pclose($f);
      } else {
         trigger_error('There is no way to execude this code from PHP', E_USER_ERROR);
      }
   }
open_terminal($code);
?>

dat heb ik nu..
Met nog maar 1 error =D
kijk, deze:

Fatal error: Using $this when not in object context in /usr/local/www/data-dist/server.php on line 6


Kijk anders maar even op: pascal.signet.nl/server.php
beetje vreemd om exec uit te voeren als code... dat is namelijk een methode om iets uit te voeren...

Wat daar hoort te staan is een code om bijv. een gameserver op te starten.
oooooooooooooooooooooooooooohh...
ik snapte het al niet :p
Maar,, ik zie ook,, dat $this niet is gedefineerd. wat moet $this zijn??

<?php

$code = 'cd / \n vi server.txt \n i test :wq';  // hier de probeer manier
   function open_terminal($code) {
      if(function_exists('exec')) {
         exec($code, $buffer);
         $data = implode("n" , $buffer);
      } elseif(function_exists('shell_exec')) {
         $data = shell_exec($code);
      } elseif(function_exists('system')) {
         ob_start();
         system($code);
         $data = ob_get_contents();
         ob_end_clean();
      } elseif(function_exists('passthru')) {
         ob_start();
         passthru($code);
         $data = ob_get_contents();
         ob_end_clean();
      } elseif(is_resource($handle = popen($code, "r"))) {
         while(!feof($handle)) {
            $data .= fread($handle, 1024);
         }
         pclose($f);
      } else {
         trigger_error('There is no way to execude this code from PHP', E_USER_ERROR);
      }
echo $data;
   }
open_terminal($code);
?>



Dat is wat ik nu heb, geen error of niks, alleen maar een lege/witte pagina. Ik zie ook geen server.txt

Wat je nu hebt geeft ook geen output. En server.txt staat als het goed is gegaan nu ergens op de server.
maar,, ik zie hem tog niet in de 'slash' directorie.. top dir dus.
Daar staat ie tog ze-ker-te-weten niet...:

pascal# cd /
pascal# ls -la
total 63
drwxr-xr-x  21 root   wheel      512 May  1 11:58 .
drwxr-xr-x  21 root   wheel      512 May  1 11:58 ..
-rw-r--r--   2 root   wheel      801 Nov  3  2005 .cshrc
-rw-r--r--   2 root   wheel      251 Nov  3  2005 .profile
drwxrwxr-x   2 root   operator   512 Dec 30 17:32 .snap
-r--r--r--   1 root   wheel     6188 Nov  3  2005 COPYRIGHT
drwxr-xr-x   2 root   wheel      512 Jan 10 13:20 CVS
drwxr-xr-x   2 root   wheel     1024 Jan  7 20:18 bin
drwxr-xr-x   6 root   wheel      512 Jan 10 16:47 boot
drwxr-xr-x   2 root   wheel      512 Dec 30 17:32 cdrom
lrwxr-xr-x   1 root   wheel       10 Dec 30 17:47 compat -> usr/compat
dr-xr-xr-x   4 root   wheel      512 Jan  1  1970 dev
drwxr-xr-x   2 root   wheel      512 Dec 30 17:32 dist
-rw-------   1 root   wheel     4096 Dec 30 17:48 entropy
drwxr-xr-x  19 root   wheel     2048 Apr 29 13:08 etc
lrwxrwxrwx   1 root   wheel        8 Dec 30 17:07 home -> usr/home
drwxr-xr-x   3 root   wheel     1024 Jan 12 18:14 lib
drwxr-xr-x   2 root   wheel      512 Jan  2 21:29 libexec
drwxr-xr-x   2 root   wheel      512 Nov  3  2005 mnt
dr-xr-xr-x   2 root   wheel      512 Nov  3  2005 proc
drwxr-xr-x   2 root   wheel     2560 Jan  2 21:29 rescue
drwxr-xr-x   2 root   wheel      512 May 17 20:21 root
drwxr-xr-x   2 root   wheel     2560 Jan  2 21:29 sbin
drwxr-xr-x   8 10408  50        2560 Jan 10 17:16 screen-4.0.2
lrwxr-xr-x   1 root   wheel       11 Jan 10 16:46 sys -> usr/src/sys
drwxrwxrwt   9 root   wheel      512 May 19 18:41 tmp
drwxr-xr-x  22 root   wheel      512 May  4 21:46 usr
drwxr-xr-x  23 root   wheel      512 Jan 24 23:23 var

Ik zou de logfiles eens gaan bekijken. Misschien dat je daar een melding kan vinden.
log files van?
php?
bijv.

staat ie soms in de user top dir of in de webserver top dir?

Reageren