mod_perl: %ENV a system()
Jan Kasprzak
kas na fi.muni.cz
Čtvrtek Srpen 11 18:03:25 MEST 2005
Zdravim,
mam problem s prechodem na mod_perl2 - vypada to, ze
ackoli (po PerlOptions SetupEnv) mam v %ENV vsechno co ocekavam,
nedari se mi to predat novemu procesu, ktery spustim treba
pres rouru v open() nebo pres system():
Priklad kodu:
-------------------------------------------------------
#!/usr/bin/perl -w
my $q = new CGI;
print "Content-Type: text/plain\n\n";
print "My ENV =================\n";
for (sort keys %ENV) {
print $_, " => '", $ENV{$_}, "'\n";
}
system "/bin/bash -c set >/tmp/set";
print "\nPassed ENV==============\n";
open (PIPE, "/bin/bash -c set|");
print <PIPE>;
close PIPE;
print "========================\n";
-------------------------------------------------------
Pod "My ENV" mam co ocekavam (vcetne veci jako QUERY_STRING
a dalsi, pod "Passed ENV" a v /tmp/set mam jen par internich veci
shellu. Ale je zajimave, ze ruzne veci ktere jsem exportoval
predtim (LD_LIBRARY_PATH, ORACLE_HOME, atd.) jsou predany korektne.
Nepredavaji se jen interni veci Apache. Jak tohle muzu predat,
pokud chci, aby potomek volany pres open() nebo system() dostal
take QUERY_STRING a dalsi CGI promenne?
Diky,
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ |
>>> $ cd my-kernel-tree-2.6 <<<
>>> $ dotest /path/to/mbox # yes, Linus has no taste in naming scripts <<<
Další informace o konferenci Perl