Dann sagt mir halt, was Ihr wissen müsst.
Ich versuche ein Script zu initialisieren, das eine Textdatei liest. Parameter können in einer ini-Datei festgelegt werden, die allerdings auch benötigt wird um das Script ablaufen zu lassen:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
use CGI qw(:standard);
use locale;
print "Beginn test.pl"; // zum Test eingefügt
print $1; // zum Test eingefügt
$config = param('config');
if ( $config =~ /^([.\w]+)$/ ) {
$config = $1;
print $config;
require "$config";
&logging("config file read");
}
else {
print "Kein Parameter übergeben!!!"; // zum Test eingefügt
die; }
Das Ergebnis soll in einer html-Datei angezeigt werden.
Dazu habe ich dort das php-Script eingebaut. php soll die Übergabevariablen festlegen, unter anderem auch den Namen der ini-Datei:
Der Einfachheit halber hier nur das wesentliche:
<?php
...
$datei = "../../../cgi-bin/db/test.pl config=init.txt";
passthru($datei, $return_read);
echo $return_read;
?>
Ausgabe:
Content-type: text/html
Das ist jetzt test.pl // kein $1
Kein Parameter übergeben!!! // else-Schleife, dann die;
255 // wieder zurück in php - $return_read
bei
$datei = "../../../cgi-bin/db/test.pl?config=init.txt"; // jetzt mit ?
sieht die Ausgabe so aus:
127 // hier wird (vermutlich) test.pl nicht gefunden
Stimmt auch mit den Erfahrungen bei php.net überein.
So, jetzt wisst Ihr so viel wie ich. Was mir beim Schreiben gerade auffiel: Kann der "." in config=init.txt ein Problem sein? Wie umgehe ich den?
CU, Blinder