问题标签 [mod-perl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 使用 Apache::Session::Memcached 和 MasonX::Request::WithApacheSession
我正在尝试在HTML::Mason项目中使用Apache::Session::Memcached ,我使用MasonX::Request::WithApacheSession来处理我的会话。不幸的是,当我插入 Memcached 模块而不是 MySQL 模块时,Apache 不会启动。我的自定义处理程序看起来像这样(这里和那里有一些片段):
我遇到的问题是特定于 Memcached 的参数没有像文档所说的session_*
那样传递给Apache::Session::Memcached。这会导致此错误:
现在,我已经将所有 3 个大写参数都换成了小写,但无济于事。Apache::Session::Memcached的文档将它们列为大写。
非常感谢您的帮助。
perl - 是否有等效于 PHP 的 ignore_user_abort() 的 mod_perl2/Perl 5?
我正在编写一个内部服务,它需要为一个长时间运行的进程接触 mod_perl2 实例。该作业从 HTTP POST 触发,mod_perl 处理程序将其拾取并完成工作。这可能需要很长时间,并且可以异步处理,所以我希望可以在 HTTP 连接运行时终止它。
PHP 有一个功能ignore_user_abort()
,当与正确的标头结合使用时,可以提前关闭 HTTP 连接,同时让进程保持运行(此技术在 SO 上多次提到)。
Perl 有等价物吗?我还没有找到一个。
perl - 如何在 mod_perl 中添加脚本特定的库路径?
我正在尝试将 CGI 脚本迁移到mod_perl
使用ModPerl::Registry
.
脚本使用与脚本位于同一目录中的模块,但由于mod_perl
当前目录位于其他位置,因此不起作用。
我尝试使用FindBin
添加到@INC
,但FindBin
看起来像这样:
这根本没有用。
那么,有没有办法让脚本找出它在哪里,并将该目录添加到@INC
?理想情况下,使用同一 Apache 服务器的所有其他脚本不会将该目录添加到它们的@INC
.
perl - 使用 mod_cgi 和 mod_perl 捕获错误
提前感谢大家。
我一直在做一些关于错误处理的研究,但我觉得我对我应该做什么没有深入的了解。
前言:我的代码在 Apache 中并在浏览器中执行,我的目标不包括命令行执行。
我希望 CGI::Carp (fatalsToBrowser) 的行为能够捕获输出并能够将其扔到我自己的模板页面中,通过电子邮件发送等...我确实注意到 fatalsToBrowser 不起作用与 mod_perl。有谁知道为什么?Apache/mod_perl 是如何阻碍的?
第一个目标:如果代码是用 mod_perl 或 mod_cgi 执行的,我想把一些东西放在一起。
第二个目标:我想要一个高级方法来捕获类似于 .NET 的 Application_Error (在 global.asax 中)和 PHP 的 set_exception_handler() 和 set_error_handler() 方法的所有错误。这些允许您在引发错误时进行控制,而无需将代码包装在凌乱的/gross try-catch 语句中。
我读过/评论过的东西:
1.) Perl 中的 OO 异常处理,但不是我想要的。我想抓住的大部分东西都是死()。下一个链接还说这篇文章已过时且已弃用。
2.) Perl: $SIG{__DIE__}, eval { } 和 stack trace,但我并没有从中得到太多与我的目标相关的东西。
3.) 实用模式 Perl (O'Reilly),第 21 章“错误处理和调试”。谢天谢地,我所有的 perl 代码都使用了 strict 并启用了警告,并且第 6 章“使用 mod_perl 进行编码”中提到的最重要的事情已经完成。
4.) 我翻阅了“Learning Perl”、“Perl Cookbook”、“Programming Perl”和“Higher Order Perl”中的目录,并没有发现任何让我印象深刻的东西。如果你认为我错过了什么,请告诉我。:)
我不记得在哪里(也许在“实用 mod_perl”中,但我读过你不应该与 $SIG{__DIE__}.
mod-perl - 更改通过 mod_perl 进入的 apache 日志中的参数?
我们有一些带有参数的印象,比如 user=ryan&size=1234 。有没有办法可以在写入之前直接在日志文件中更改这些参数?我们目前正在使用 notes() 方法来添加 argumnet,但我需要在编写之前将 user 参数更改为 user=ryantest。可能的?
perl - 为什么我在 mod_perl 下会收到带有“使用常量”的“重新定义”警告?
我使用 apache2 运行 CGI 脚本,并且在 error.log 中有此警告行(我从输出中删除了所有类似的行):
为什么有这条线,有没有办法阻止它们?
发出此警告的代码(取自“CGI Programming with Perl”一书,修复了一些错误):
此代码具有类似的输出:
$ perl -e 'sub FOO () { 1 } BEGIN{ *FOO = sub () { 2 }; } print FOO;'
I did put no warnings qw/redefine/
但这没有帮助。
perl - Modperl::perlrun 重新加载模块
我正在将我的应用程序转换为在 modperl::perlrun 下运行,有一些遗留模块会创建闭包,有没有办法为 Perlrun 下的每个请求重新加载模块(.pm 文件)?
linux - 短脚本,长模块还是长脚本,短模块?
我只是想知道在 Perl 中创建 Web 服务时,什么最能提高性能。
是否最好使用尽可能短的 .pl 脚本并将尽可能多的代码放在 .pl 脚本使用的模块中,或者如果我根本不使用模块,它不会影响性能吗?
我在mod_perl
带有 perl 5.8.8 的 CentOS Linux 机器上使用。
perl - 如何使用 mod_perl 和 CGI::Application 提供临时文件下载?
mod_perl
我的网络应用程序使用 CGI::Application在 Apache 上运行。我想提供生成文件的下载。过去(在我们使用mod_perl
和 CGI::App 之前)我只是在生成 csv 文件时将STDOUT
其输出。现在我要进行更多改进 - 使用 Spreadsheet::WriteExcel 创建一个 Excel 电子表格 - 我似乎无法从文件句柄中打印出来。
输出只是一个空白响应,警告也是空白。
我用来将电子表格写入文件句柄的方法几乎直接来自文档,所以我认为问题是由于我的一些 CGI::App noobery 造成的。该文档建议的文件句柄方法也mod_perl
被证明是徒劳的。
我想我应该提到我在 Windows 上运行,并且我当前的解决方法是创建一个文件并为用户提供指向它的链接。然而,这带来了更多问题,涉及清除目录和何时清除,以及访问生成文件的身份验证。
建议?严厉批评?
perl - 如何让 mod_perl 识别对我的应用程序的更改?
我在我们的开发服务器上运行 apache2 / mod_perl2 组合。
当我进行开发时,我的更改会立即反映在我正在处理的网页中。我认为 mod_perl 很聪明,并且在更改文件时会重新加载文件。
但是现在另一位开发人员正在开发系统的不同部分,并且 mod_perl 没有接收到他们的更改。他必须重新启动 apache 才能看到他的更改。
有没有办法在我们的开发服务器上禁用缓存,或者让 mod_perl 获取他的更改?
谢谢。
编辑:我正在使用 VI 直接在开发服务器上编辑文件,其他开发人员已通过 samba 安装了他们的开发目录,并正在 Windows 中编辑他们的文件。这似乎是阻止 mod_perl 获取更改的差异。