env Variablen setzen
Hendrik
- cgi
Hallo,
ich habe Probleme die env Variablen unter Linux für Testzwecke zu
setzen. Im Anhang ist mein Script.
Beim Ausführen meines CGI Scriptes hat er z.B. CONTENT_LENGTH und
CONTNENT_TYPE nicht gesetzt und gibt mit
getenv("CONTENT_TYPE"); NULL zurück.
Gruss
Hendrik
CONTENT_LENGTH=34
export $CONTENT_LENGTH
#content_type (POST)
CONTENT_TYPE="POST"
export $CONTENT_TYPE
#physicalischer Pfad für die Ablage von Daten auf dem Server
DOCUMENT_ROOT="/home/akornst/WWW/cgi-bin/"
export $DOCUMENT_ROOT
GATEWAY_INTERFACE="CGI/1.1"
export $GATEWAY_INTERFACE
#liste der Mime-Types, die der Server akzeptiert
HTTP_ACCEPT="*/*"
export $HTTP_ACCEPT
#liste der Zeichensätze, die der Webserver akzeptiert
HTTP_ACCEPT_CHARSET="iso-8859-1,*,utf-8"
export $HTTP_ACCEPT_CHARSET
#liste der Kodirungs-Methoden, die der aufrufende Browser enthält
HTTP_ACCEPT_ENCODING="gzip"
export $HTTP_ACCEPT_ENCODING
#Landessprache, die der aufrufende Browser verwendet
HTTP_ACCEPT_LANGUAGE="de"
export $HTTP_ACCEPT_LANGUAGE
#Eenthält Informationen über den Status der HTTP-Verbindung
zwischen Server und aufrufenden Browser
HTTP_CONNECTION="Keep-Alive"
export $HTTP_CONNECTION
#Cookie
HTTP_COOKIE="Hendrik Kruege"
export $HTTP_COOKIE
#Namen oder ide IP-Adresse aus der Adresszeile des aufrufenden
Browsers
HTTP_HOST="http://www.swd.de"
export $HTTP_HOST
#Enthält die URL der Webseite, von der aus das CGI-Script
aufgerufen wurde
HTTP_REFERER="www.uni-home.de"
#export $HTTP_REFERER
#Enthält Produkt und Versionsinformation zum aufrufenden Browser
HTTP_USER_AGENT="Netscape"
export $HTTP_USER_AGENT
#Wird ein CGI_Script aufgerufen wird der String nach dem
Scriptnamen bis zu ? ausgegeben
PATH_INFO="/varlue/manufacturer?"
export $PATH_INFO
#IP-Adressen des Server-Rechners, über den das CGI-Script
aufgerufen wurde
REMOTE_ADDR="192.168.1.1"
export $REMOTE_ADDR
#Hostname des Rechners, über den das CGI-Script aufgerufen wurde
REMOTE_HOST="node20.swd.de"
export $REMOTE_HOST
#Enthält Protokollinformationen, wenn auf dem Server das Protokoll
ident für geschützte Zugriffe läuft
REMOTE_IDENT="ident"
export $REMOTE_IDENT
#Ermittelt über welchen Port des Clien-Rechners das CGI-Script
aufgerufen wurde
REMOTE_PORT="80"
export $REMOTE_PORT
#Ermittelt den Benutzernamen, mit dem sich der aufrufende Benutzer
angemeldet hat, um das CGI-Script aufzurufen
REMOTE_USER="hkrueger"
export $REMOTE_USER
#Enthält die HTTP_Auftragsmethode, mit der das CGI-Programm
aufgerufen wurde(GET,POST)
REQUEST_METHOD="POST"
export $REQUEST_METHOD
#Enthält den HTTP-Pfad des Scriptes inklusive der im Aufruf
übergebenen Daten
REQUEST_URI="/cgi-bin/search2?value=test"
export $REQUEST_URI
#Enthält den HTTP-Pfad des Scriptes
SCRIPT_NAME="/cgi-bin/search2"
export $SCRIPT_NAME
#Enthält den physischen Pfad des Scriiptes
SCRIPT_FILE_NAME="/home/akornst/WWW/cgi-bin/search2"
export $SCRIPT_FILE_NAME
#IP-Adressen des Server Rechners
SERVER_ADDR="192.168.100.1"
export $SERVER_ADDR
#Enthält Namen/E-Mailadresse des Webserver Administrators
SERVER_ADMIN="wwwadmin@swd.de"
export $SERVER_ADMIN
#Name des Webserver
SERVER_NAME="node1.swd.de"
export $SERVER_NAME
#Enthält die Portnummer
SERVER_PORT="80"
export $SERVER_PORT
#Enthält die Version des HTTP-Protokolls, das der installierte
Web-Server unterstüzt
SERVER_PROTOCOL="HTTP/1.1"
export $SERVER_PROTOCOL
#Enthält eine erweiterte selbstauskunft des Servers
SERVER_SIGNATURE="Apache/1.3.14 Server at localhost Port 80"
export SERVER_SIGNATURE
#Enthält den Namen und die Versionsnummer der Webserver-Software
auf dem Serverrechner
SERVER_SOFTWARE="Apache/1.3.14"
export $SERVER_SOFTWARE
PATH_TRANSLATED="/home/akornst/WWW/cgi-bin/search2"
export $PATH_TRANSLATED
#Enthält eine Zeichenkette mit Daten, die dem Script im URI nach
dem ersten ? übergeben wurden
QUERY_STRING="value=COM"
export $QUERY_STRING
#export $QUERY_STRING
Hi Hendrik,
CONTENT_LENGTH=34
export $CONTENT_LENGTH
Hast Du das mal im Dialog ausprobiert?
Deine Shell evaluiert $CONTENT_LENGTH, als Kommando bleibt also übrig:
export 34
Das ist nicht das, was Du willst ... Du willst ja die Variable exportieren,
nicht ihren Inhalt.
Viele Grüße
Michael