gpt4 book ai didi

perl - 在 mod_perl 环境中调用清理代码

转载 作者:行者123 更新时间:2023-12-04 23:58:46 26 4
gpt4 key购买 nike

一些引用自实用的 mod_perl

“通常,单个进程在退出前会处理许多请求,因此如果希望在每个请求处理结束时执行某些操作,则不能使用 END block 。”

所以,在我的 a.cgi 脚本中:

my $flag = 1;

END {
# Value for $flag is undefined, if this script is run under mod_perl.
# END block code only executed when process to handle a.cgi exit.
# I wish to execute some code, just before process to handle a.cgi exit.
if ($flag) {
# clean up code.
}
}

本书重新开始 $r->register_cleanup(sub { #cleanup } );

但是,

  1. 如何在.cgi 脚本中获取$r?
  2. 子程序能否访问 my scope 标志变量?
  3. 这个$r->register_cleanup 是否应该放在a.cgi 脚本中?我只想为 a.cgi 脚本执行清理代码。不是其余的。

最佳答案

  1. my $r = Apache->request;

  2. 是的,但请参阅 http://modperlbook.org/html/6-2-Exposing-Apache-Registry-Secrets.html以及接下来的几页,关于局部变量和函数的作用域。

  3. 是的,只有在你想让它运行时才注册该函数。

关于perl - 在 mod_perl 环境中调用清理代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1047314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com