如何更改Apache2 / mod_perl2的工作目录

时间:2011-10-05 20:06:30

标签: linux apache2 privileges mod-perl2

我有一个mod_perl2模块,它将一些文件写入工作目录。 mod_perl2或Apache2的标准工作目录似乎是“/”。当然,Apache不允许在此目录中写入文件。

有谁能告诉我如何更改工作目录或mod_perl2写入的目录?

我在SLES 10上使用Apache2 Prefork。

1 个答案:

答案 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>