|
PHP ubuntu shel_exec
|
|
Geplaatst op 27-05-2012 09:08
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Ik probeer via php een terminal script in ubuntu uit te voeren, alleen als ik vie mijn php het bash script uitvoer is mijn pagina zogezegd de utivoer, maar komt er op de desktop van de server geen terminal openen, hoe kan ik het fixen dat het script via php een terminal open doet op de server en vanaf daar de commands uitvoert?
PHP code:
GeSHi: PHP<?php $output = shell_exec('gedit /home/css/Desktop/cssfun.sh'); echo "<pre>$output</pre>"; ?>
Dit is nog maar een voorbeeld, want later moet ik de cssfun.sh uitvoeren.
|
| |
| |
|
Geplaatst op 27-05-2012 17:11
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
Er zijn zeker al 2 dingen fout:
- gedit is een grafisch programma, op een headless server is dit dus niet mogelijk
- Als je op een remote server commando's wil uitvoeren gebruik je hier beter SSH voor.
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |
| |
Geplaatst op 28-05-2012 10:39 | Gewijzigd door jensser op 28-05-2012 11:01
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Gedit was als voorbeeld gebruikt, en het is een stadaard ubuntu desktop versie, met desktop etc.
ik probeer dus een soort van control panel te maken, maar als ik dit gebruik,
GeSHi: PHP <?php $output = shell_exec('sh /home/css/Desktop/cssfun.sh'); echo "<pre>$output</pre>"; ?>
start de css server niet en gebeurt er ook niets in het paginaatje.
Hoe zou ik dan met php dat sh bestand uitvoeren in een terminal op de desktop van de server zelf?
(ps ik heb al gezocht voor ssh via php, maar dit werkte nooit.)
alvast Bedankt.
|
| |
| |
|
Geplaatst op 28-05-2012 11:08
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
- Draait PHP in safe mode?
- Werkt het commando als je het rechtstreeks op de server uitvoert?
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |
| |
Geplaatst op 28-05-2012 11:21 | Gewijzigd door jensser op 28-05-2012 11:21
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Als ik in een terminal op de server dit ingeef, sh /home/css/Desktop/cssfun.sh dan start de server in die terminal.
Ik weet niet of php in safemode draait,
hier is php info pagina, http://www.tarbax...hpinfo.php
ik heb opgezocht hoe het te weten maar vond het niet.
EDIT, er staat wel safe_mode Off Off
|
| |
| |
Geplaatst op 28-05-2012 12:02 | Gewijzigd door mitchhubers op 28-05-2012 12:02
|

Actief

|
Posts: 167
Joined: 27.09.08
|
Je code is fout.
Eerst:
GeSHi: PHP <?php $output = shell_exec('gedit /home/css/Desktop/cssfun.sh'); echo "<pre>$output</pre>"; ?>
Met output:
GeSHi: PHP <?php $output = shell_exec('gedit /home/css/Desktop/cssfun.sh'); echo "<pre>".$output."</pre>"; ?>
 |
| |
| |
Geplaatst op 28-05-2012 16:43 | Gewijzigd door Stijn op 28-05-2012 16:45
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
Dat was niet fout. Voer dit maar eens uit:
GeSHi: PHP$foo = 'bar'; echo "<pre>$foo</pre>";
Bij het gebruik van double quotes is het niet verplicht om variabelen aan een string te concateneren. PHP is slim genoeg om de waarde van de variabele in te vullen. Dat heet variable expansion.
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |
| |
|
Geplaatst op 30-05-2012 14:38
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Heeft er niemand een idee van hoe ik nu een simpel php script kan maken dat ervoor zorgt dat ik de css server die op een ubuntu linux staat kan starten en stoppen via mijn webbrowser?
|
| |
| |
|
Geplaatst op 30-05-2012 15:29
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
Krijg je errors? Wat is de uitvoer? Wat is de inhoud van het shellscript? We kunnen niet zomaar uit het niets weten wat er fout is.
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |
| |
|
Geplaatst op 30-05-2012 17:58
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Wel, ik krijg geen errors tot zover ik weet, maar er gebeurt ook niet wat ik wil,
in mijn php script staat dit:
GeSHi: PHP<?php $output = shell_exec('sh /home/css/Desktop/test.sh'); echo "<pre>$output</pre>"; ?>
Dit start dus het test.sh bestandje op mijn bureablad,
test.sh
GeSHi: C#!/bin/bash StartUp="Testing SH Output in php" echo $StartUp gnome-terminal -x /home/css/Desktop/cssfun.sh
Als ik dit in de terminal op de desktop zelf doe, dan komt er automatisch een nieuw terminal open en de server start. Nu krijg ik op de pagina gewoon de echo vanuit het test.sh
via het php script komt er op de desktop geen nieuw venster open, en draait het proces ook niet, ik wil de console van de server zien op de server zelf.
cssfun.sh:
GeSHi: C#!/bin/sh cd /media/afbb11b6-7ad6-4c79-ba94-0bd567c59e81/home/tec/srcds/css ./srcds_run -game cstrike +maxplayers 24 +map mg_glass_tower
Wat ik dus probeer te bereiken is,
Als iemand op de php pagina komt, moet dit een console openen op de server en daarin meot de css server starten.
alvast bedankt.
|
| |
| |
|
Geplaatst op 30-05-2012 18:12
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
Voor zover ik weet is dit niet mogelijk.
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |
| |
|
Geplaatst op 30-05-2012 18:21
|

Actief

|
Posts: 133
Joined: 03.05.09
|
Er zijn toch mensen die linux Game control panels maken, hoe doen die dat dan, ik wi lhet gewoon mogelijk maken om vanaf een website mijn server aan, uit en te restarten.
Niemand enig idee hoe de makers dat daar dan doen?
|
| |
| |
|
Geplaatst op 30-05-2012 18:47
|

Admin
.gif)
|
Posts: 2184
Joined: 17.01.06
|
Die openen geen zichtbare terminal via PHP. Ze voeren gewoon commando's uit.
Trotse oprichter en programmeur van Modbase
Afgestudeerd als industrieel ingenieur: informatica.
Student burgerlijk ingenieur: computerwetenschappen. |
| |