Op de SSH servers van Byte is het mogelijk om PHP, Perl en bash/sh scripts uit te voeren. Op deze servers zijn precies dezelfde libraries en modules aanwezig, die ook op de webservers geïnstalleerd zijn. In dit artikel geven we aan hoe je diverse soorten scripts kunt uitvoeren via Shell.

PHP Scripts

Op dit moment draaien wij PHP 5.3 en 5.4 op onze servers. Bij het uitvoeren van PHP scriptsop de SSH server worden de PHP instellingen van het Service Panel gebruikt. Wanneer je dus je PHP instellingen hebt staan op PHP 5.4, wordt het PHP script uitgevoerd met PHP 5.4.
Met de volgende syntax(en) kun je een PHP script uitvoeren:

php5 script.php
php script.php

PHP scripts argumenten geven

In de shell kun je geen $_GET of $_POST argumenten geven. In plaats daarvan gebruik je de $argc en $argv variabelen :

if($argc){   
  /* eerste argument is naam van programma */
  for($i=1;$i<count($argv);$i++){
    print"Argument $i: ".$argv[$i]."";
  }
}else{
  /* kennelijk via het web aangeroepen controleer dus $_GET en $_POST */
}

Perl Scripts

Op de SSH server is Perl5 aanwezig. Met de volgende syntax kun je een Perl script uitvoeren:

perl perlscript.pl

Bash scripts

Je kunt ook bash scripts uitvoeren. Dit zijn simpele scripts speciaal voor in een shell. Uitvoeren van deze scripts kan op 3 verschillende manieren :

sh shellscriptbash shellscript
./shellscript

Let op! Bij bash shellscriptmoet je er rekening mee houden dat het script dat je probeert uit te voeren wel uitvoer (execute) rechten heeft. Meer informatie over bestandarechten vind je op de pagina Shell Cursus: Bestandsrechten aanpassen. Hier kun je lezen hoe je kunt achterhalen welke rechten jouw script precies heeft.

10