我有一个mod_perl2模块,它将一些文件写入工作目录。 mod_perl2或Apache2的标准工作目录似乎是“/”。当然,Apache不允许在此目录中写入文件。
有谁能告诉我如何更改工作目录或mod_perl2写入的目录?
我在SLES 10上使用Apache2 Prefork。
答案 0 :(得分:1)
你可以在脚本的开头做一个perl chdir(script-dir)
吗?
当您尝试在线程场景中使用时,如果更改工作目录可能会破坏线程,那么第二种想法会破坏目的。
您可以尝试使用RegistryPrefork模块吗?
# httpd.conf
PerlModule ModPerl::RegistryPrefork
Alias /perl-run/ /home/httpd/perl/
<Location /perl-run>
SetHandler perl-script
PerlResponseHandler ModPerl::RegistryPrefork
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>