天道酬勤,学无止境

mod-perl

如何让 mod_perl 在更改时重新加载源文件?(How do I have mod_perl reload source files on change?)

问题 我正在使用 mod _ perl 开发一个应用程序,每次更改代码时都重新启动服务器是一个巨大的拖累。 我仍想使用 mod _ perl 进行开发,因为这是我计划用于实时服务器的。 我在文档中没有看到有关如何执行此操作的任何内容。 想法? 回答1 我认为 Apache2::Reload 会在一定程度上完成你正在寻找的东西。 但是,一旦您准备好将应用程序投入生产,请记住删除所有这些实现。 监视 %INC 中的所有模块 要在请求处理开始时监视和重新加载 %INC 中的所有模块,只需将以下配置添加到 httpd.conf 中: PerlModule Apache2::Reload PerlInitHandler Apache2::Reload 使用连接过滤器和协议模块时,应在 pre_connection 阶段调用 Apache2::Reload: PerlPreConnectionHandler Apache2::Reload 隐式注册模块 要仅重新加载已注册到 Apache2::Reload 的模块,请将以下内容添加到 httpd.conf: PerlModule Apache2::Reload PerlInitHandler Apache2::Reload PerlSetVar ReloadAll Off # ReloadAll defaults to On

2022-01-14 17:22:56    分类:技术分享    perl   apache   mod-perl

How do I have mod_perl reload source files on change?

I am developing an application with mod_perl and restarting the server every time I change code is a huge drag. I'd like to still use mod_perl for development because it's what I plan on using for the live server. I didn't see anything in the documentation about how to do this. Thoughts?

2022-01-08 23:23:53    分类:问答    perl   apache   mod-perl

mod_perl 调试和查看源码(mod_perl debugging & viewing source)

问题 我最近开始着手一个使用 mod_perl 的项目。 我正在尝试使用 Perl 调试器来调试一些在 mod_perl 下运行的 Perl 脚本。 我使用以下命令启动调试器: sudo OPTIONS="-X -DPERLDB" /etc/init.d/httpd restart perl.conf 的相关调试部分(包含在 httpd.conf 中)是: <IfDefine PERLDB> <Perl> use Apache::DB (); Apache::DB->init; </Perl> <Location /> PerlFixupHandler Apache::DB </Location> </IfDefine> 这将我带入调试器。 当我在浏览器中加载所需的页面时,调试器会在由 mod_perl 包装的 Perl 脚本的第一行中断(该应用程序正在使用 PerlRun,顺便说一句)。 我现在可以单步执行代码、打印变量等。 我的问题是查看源代码( l 、 -和v )的命令在 Perl 脚本中不显示任何内容。 它们在模块内按预期工作 - 也就是说,如果代码步入 Perl 脚本使用的模块,则查看源命令会起作用。 这是在 mod_perl 中调试的已知问题吗? 我能做些什么来修复它吗? 我在 CentOS 5.6 x86_64 上使用 Apache 2.2.3 和 Perl 5.8

2021-12-24 06:58:49    分类:技术分享    perl   debugging   mod-perl

在任何文件中没有“使用警告”或 -w 打印的 Perl 警告(Perl warning printed without 'use warnings' or -w in any files)

问题 我有很多经常被调用的旧 Perl 代码,我一直在编写一个新模块,突然间我在我的 Apache 的 error_log 中收到了很多警告,它们是针对当前正在使用的每个模块的。 例如, "my" variable $variable masks earlier declaration in same statement at /path/to/module.pm line 40 (#1) Useless use of hash element in void context at /path/to/another/module.pm line 212 (#2) 代码库的主要布局是一个包含模块的巨型脚本,并将请求定向到为网站创建某些页面所需的模块,然后主脚本处理菜单等静态元素。 我当前的项目与这个主脚本分开并且不使用它但是任何时候我使用 ajax 调用我的代码时,还有一些其他的 ajax 调用将使用主脚本并且警告似乎只从这些请求中出现,但仅当我正在调用我的项目。 我已经搜索了每个模块,但没有一个模块在其中使用警告(或 -w),我也尝试在主脚本和我自己的项目中不使用警告“全部”,但它没有做任何事情。 在这一点上,我不知道下一步该做什么,所以感谢所有帮助,我只想抑制警告,代码库很旧而且写得很差,所以继续并纠正导致警告的每个问题第一名是不可行的。 Apache 服务器也在运行 mod

2021-12-22 10:12:40    分类:技术分享    ajax   apache   perl   cgi   mod-perl

mod_perl debugging & viewing source

I've recently started work on a project that uses mod_perl. I'm attempting to use the Perl debugger to debug some Perl scripts that are running under mod_perl. I start the debugger with the following command: sudo OPTIONS="-X -DPERLDB" /etc/init.d/httpd restart The relevant debugging section of perl.conf (included by httpd.conf) is: <IfDefine PERLDB> <Perl> use Apache::DB (); Apache::DB->init; </Perl> <Location /> PerlFixupHandler Apache::DB </Location> </IfDefine> That takes me into the debugger. When I load the required page in the browser, the debugger breaks on the first line of the Perl

2021-12-13 12:22:11    分类:问答    perl   debugging   mod-perl

Perl 的未来? (Perl 6,就业能力)(The future of Perl? (Perl 6, employability))

问题 我发现了一些相关的问题,比如Python 与 Perl (现已删除)和Perl 值得吗? (现已删除),但我似乎找不到任何直接解决此问题的内容。 Perl 有合法的未来吗? 我现在在 Perl 商店工作,我来自 PHP,所以在服务器级别上做事时,我看到了可以说是“低级”语言的一些优点,但在我看来,Perl 中的很多任务可以在 PHP 中更快地执行,并且有些争论(主观,不是我的意见)Python 以更易于维护的更明确的方式完成这些任务。 在我的简历上写下这份工作最终会降低我的就业率,尤其是在语言不再增长的情况下? 一些注意事项: 我喜欢 Perl,所以不要认为我在抨击这门语言。 使用起来很有趣,而且我们使用了一种相对易于维护的相当冗长的语法。 我意识到“Vaporware”是一个不一定适用于这种情况的流行语,因为 Perl 没有营销部门,而且他们在任何时候都不会“承诺”Perl 6。 我意识到 CPAN 使社区继续前进,所以无论 Perl 6 出现与否,人们都会继续构建增加语言可能性的模块,但这并不意味着行业商店意识到这一点,并切换到“更多支持”的语言不断推出该语言的修订版本,如 Python 和(尤其是)PHP。* EDIT {CLARIFICATION} Cade Roux 和 Telemachus 都提出了关于你的未来是否可以由你的简历定义的好观点。 老实说

2021-12-09 18:16:23    分类:技术分享    perl   cpan   mod-perl

如何在 OS X Yosemite 上的 Apache 2.4 中安装 mod_perl 2.0.9?(How to install mod_perl 2.0.9 in Apache 2.4 on OS X Yosemite?)

问题 随着 OS X 10.10 Yosemite 的发布,Apple 将其 Apache 服务器升级到了 2.4 版。 在发布时,mod_perl 2.0.8 与 Apache 2.4 不兼容,并且 mod_perl 2.0.9 尚未正式发布(更多信息)。 因此,Apache 在没有 mod_perl 的情况下被包含在内。 我使用 perl 在本地网站上工作,需要安装 mod_perl。 我是一个经验丰富的程序员,但我以前从未做过这样的事情,只有我的主机可以工作。 我不介意花一些时间来解决这个问题,但我负担不起我的本地服务器。 如何在 OS X Yosemite 上安装 mod_perl? 子问题: 我应该安装哪个版本? 我应该将它下载到安装位置还是其他地方? 我在哪里安装它? 是否有其他需要预先安装的依赖项? 我必须重新创建 apache 安装还是 mod_perl 安装是独立的? 我在 bash 方面经验丰富,使用终端非常舒服。 回答1 mod_perl 2.0.8(最新稳定版)不会削减它——它不知道 apache 2.4.x 中 MPM_NAME 的弃用 通过 svn 下载最新的开发: svn checkout https://svn.apache.org/repos/asf/perl/modperl/trunk/ mod_perl-2.0 Changes 文件将此版本列为

2021-11-28 17:56:06    分类:技术分享    apache   perl   osx-yosemite   mod-perl

The future of Perl? (Perl 6, employability)

I've found a few related questions, like Python vs. Perl (now deleted) and Is Perl Worth it? (now deleted), but I can't seem to find anything that directly addresses this question. Is there a legitimate future in Perl? I work in a Perl shop right now, and I came from PHP so I see some of the advantages of an arguably "lower" level language when doing things on the server-level, but it seems to me a lot of the tasks in Perl can be performed more quickly in PHP, and SOME ARGUE (subjective, not my opinion) that Python does these tasks in a more explicit way that's easier to maintain. Is having

2021-11-27 18:21:12    分类:问答    perl   cpan   mod-perl

Perl warning printed without 'use warnings' or -w in any files

I have a lot of old Perl code that gets called frequently, I have been writing a new module and all of a sudden I'm getting a lot of warnings in my error_log for Apache, they are for every module currently being used. e.g, "my" variable $variable masks earlier declaration in same statement at /path/to/module.pm line 40 (#1) Useless use of hash element in void context at /path/to/another/module.pm line 212 (#2) The main layout of the codebase is one giant script that includes the modules and directs the requests to them needed to create certain pages for the website and the main script then

2021-11-26 11:25:16    分类:问答    ajax   apache   perl   cgi   mod-perl

How to install mod_perl 2.0.9 in Apache 2.4 on OS X Yosemite?

With the release of OS X 10.10 Yosemite, Apple upgraded its Apache server to version 2.4. At release time, mod_perl 2.0.8 was incompatible with Apache 2.4, and mod_perl 2.0.9 had not yet been officially released (more info). So, Apache was included without mod_perl. I work locally on a web site using perl and need to install mod_perl. I'm an experienced programmer, but I have never done anything like this before and have only my main machine to work on. I don't mind spending some time to figure this out, but I can't afford to bork my local server. How does one install mod_perl on OS X Yosemite

2021-11-22 06:29:09    分类:问答    apache   perl   osx-yosemite   mod-perl