per script: Shellscripts uitvoeren

Stap 1:

Houd er rekening mee dat niet alle shellscripts of shellcommando's via het script kunnen worden uitgevoerd, omdat sommige commando's om veiligheidsredenen geblokkeerd zijn.

Het is mogelijk dat grotere scripts stoppen omdat ze eventueel serverbeperkingen tegenkomen.


Maak een bestand aan met een willekeurige naam, bijvoorbeeld cgi-bruecke.php.

Deze heeft de volgende inhoud:

<?php
exec("/bin/bash pad naar script  2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
echo "Output van het script: " ."<br>";
echo "<pre>"; print_r($out);
?>

De oproep gebeurt dan via je domein:

http://www.jouwdomein.nl/cgi-bruecke.php

Het script kan ook voor PHP*

exec("/usr/bin/php pad naar script 2>&1", $out, $result);

Perl

exec("/usr/bin/perl pad naar script  2>&1", $out, $result);

Python**

exec("/usr/bin/python pad naar script  2>&1", $out, $result);

gebruikt worden.

Voor zover in je pakket inbegrepen, kun je dit script ook als cronjob instellen.

Stap 2:

Aanvulling op PHP:

Met de padvermelding "/usr/bin/php" wordt de standaardversie van PHP-CLI op de server aangesproken. Als je een specifieke PHP-versie wilt gebruiken, geef dan het pad daarvan op. Controleer eerst in de KAS (technisch beheer) op de startpagina onder "Uitgebreide Informatie" of de betreffende PHP-versie ook op de server beschikbaar is.

De volgende PHP-versies kunnen momenteel geïnstalleerd zijn:

PHP 5.6.x - /usr/bin/php56

PHP 7.0.x - /usr/bin/php70

PHP 7.1.x - /usr/bin/php71

PHP 7.2.x - /usr/bin/php72

PHP 7.3.x - /usr/bin/php73

PHP 7.4.x - /usr/bin/php74

PHP 8.0.x - /usr/bin/php80

PHP 8.1.x - /usr/bin/php81

PHP 8.2.x - /usr/bin/php82

PHP 8.3.x - /usr/bin/php83

Stap 3:

Aanvulling op Python:

Als je Python-modules in de Apache-omgeving nodig hebt die niet geïnstalleerd zijn, heb je de volgende optie:

Installeer de benodigde modules via SSH (inbegrepen vanaf het all-inkl Premium pakket) en geef een pad binnen /www/htdocs/w0123456 op.

Het commando hiervoor is:

pip install --target=/www/htdocs/w0123456/python-module Pakketnaam

Om ervoor te zorgen dat de modules dan ook gevonden worden, breid je in het Python-script het zoekpad uit en voeg je het volgende toe:

import sys
sys.path.append("/www/htdocs/w0123456/python-module")

Let op: Vervang w0123456 door de gebruikersnaam van je account en voor python-module geef je de gewenste map op.
Hoe nuttig vond u deze handleiding?

Support & FAQ doorzoeken

Seitensuche