我有一个 mod_perl2 模块,它将一些文件写入工作目录。mod_perl2 或 Apache2 的标准工作目录似乎是“/”。当然,Apache 是不允许在这个目录下写文件的。
谁能告诉我如何更改工作目录或 mod_perl2 写入的目录?
我在 SLES 10 上使用 Apache2 Prefork。
我有一个 mod_perl2 模块,它将一些文件写入工作目录。mod_perl2 或 Apache2 的标准工作目录似乎是“/”。当然,Apache 是不允许在这个目录下写文件的。
谁能告诉我如何更改工作目录或 mod_perl2 写入的目录?
我在 SLES 10 上使用 Apache2 Prefork。
你能chdir(script-dir)
在脚本的开头做一个 perl 吗?
当您尝试在更改工作目录可能会破坏线程的线程场景中使用时,第二个想法会破坏目的。
你可以试试 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>