问题标签 [mod-perl2]
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 - 找不到方法 Apache2::RequesUtil->request
我对 SOAP::Lite 有一个小问题,当我尝试运行以下代码时,出现此错误(无法通过 b.pl 第 3 行的包“Apache2::RequesUtil”找到对象方法“request”):
任何想法 ?
perl - 我无法让 Apache::VMonitor 在 Apache2 中工作
我正在从 Apache 1.3 迁移到 Apache 2.063,并且无法让Apache::VMonitor正常工作。
我尝试了这样的设置,类似于我在旧 Apache 中的设置:
当我尝试启动服务器时,出现此错误:
ap_scoreboard_image 不存在于...
我在 Apache::VMonitor 文档中发现了一条注释,上面写着:
注意 对于 2.0.53 之后的 Apache 版本(在 2.0.54、2.0.55 和 2.0.58 上验证),由于 Apache 初始化记分牌对象。
问题是它没有说明何时可以在更高版本的 Apache 中初始化记分牌对象。我试图省略“使用”语句并得到这个错误:
恐慌:全局销毁期间的 del_backref。
*错误代码 255
有谁知道如何让它工作?我并没有坚持使用 Apache::VMonitor,如果有人可以建议另一种方法来解析和显示来自 Apache 记分牌的数据,我愿意接受建议。
perl - 阿帕奇儿童挂/ mod perl
我服务器上的 apache 子进程(ubuntu 12.04 从 11.10 升级,apache 2.2.22,perl 5.14.2,mod_perl 2.0.5)正在挂起。
我试图捕捉信号 usr2,并发出警报,但没有成功(当使用 sleep 进行测试时,它的工作方式与预期的一样,但当程序自行挂起时没有给出输出)
所以我使用 Apache 状态来获取挂起的孩子的 pid(cpu 时间没有增加,但只有 SS(自最近请求开始以来的秒数)。
然后我将 gdb 与 pid 连接起来以获取回溯:
问题是我不知道如何解决这个问题或这意味着什么。在modper 1 上,我发现:
但我不知道 .gdbinit 位于何处,或者我需要安装哪个软件包,还是我需要自己从源代码(可能使用Devel::DebugInit::GDB)制作这个文件?
perl - 使用 mod_perl 创建新的数据库句柄
在对数据库连接消失的 mod_perl 进行压力测试时,我遇到了一个问题。我怀疑进程正在共享数据库连接,从而导致了问题。
但是我已经遵循了 Apache::DBI 的所有说明,但无法弄清楚这一点。
我在子进程中而不是在 startup.pl 中建立连接。但是当我检查每个子进程从 DBI->connnect 返回的 $dbh 时,每个 httpd 进程的地址都是相同的。首先,如果这工作正常并为每个进程重新连接,那么 DBI->connect 返回的地址对于每个子进程是否应该不同?我假设是这样,但据我所知,DBI 中的核心 C 代码(dbih_setup_handle)正在管理它并返回相同的地址。所以也许我不明白重新连接孩子意味着什么。
如果 $dbh 句柄相同,我是否可以正确重新连接?
perl - 在 mod_perl 下使用 NYTProf 和 Mason
我正在尝试分析一个基于 HTML::Mason 编写的 Web 应用程序,我设法设置了分析器,但它似乎没有拾取组件内的代码。有没有办法使用 NYTProf 来分析 Mason 应用程序?
perl - 在 Apache httpd-2.4.2 上安装 mod_perl-2.0.7
我正在尝试使用 perl 安装 apache,这让我很生气。我正在按照 mod_perl 站点上的说明进行操作:http: //perl.apache.org/docs/2.0/user/install/install.html
我得到了它要求我运行这个命令的部分,但是我得到了一个错误:
我运行了他们建议的安装 apache 的命令来安装我的 apache:
但我不确定这个 apr-config 应该在哪里,因为它似乎不在我的 apache2 文件夹中的任何位置。
如果这可能是一个问题,我使用的是 Mac OS X 10.7.3。我知道 Mac OS X 附带 apache 服务器,但我需要从头开始在另一台计算机上进行此安装,所以我必须在我的计算机上从头开始整个安装。
提前感谢您提供的任何帮助。
php - mod_perl 和 oracle 与 php 和 oracle 性能对比
我有一个大型 Perl 应用程序,我需要让它更快;基于它花费大部分运行时间与数据库通信,我想知道我可以运行多少编写良好的 SQL 语句并达到性能目标。为此,我编写了一个非常简单的处理程序,它执行 SELECT 和 INSERT,当我对 300 个并发请求(总共 10,000 个)进行基准测试时,结果很差(平均 1900 毫秒)。
客户端给我们的性能目标是基于他们使用的另一个用 PHP 编写的应用程序,所以我编写了一个快速的 PHP 脚本,它在功能上与我的简单 mod_perl 测试处理程序相同,平均时间为 400 毫秒!
PHP代码是:
Perl 代码是:
mod_perl 在 apache 配置中有一个用 PerlRequire 调用的 startup.pl 脚本,它加载所有“使用”的模块。如果一切正常,而且我没有理由认为它不是,那么每个请求都应该只运行“子处理程序”中的行——这意味着 Perl 和 PHP 应该做几乎相同的事情。
服务器详情:- 硬件节点是 Quad Core Xeon L5630 @ 2.13GHz with 24Gb RAM,Apache 虚拟机的操作系统是 Gentoo,Oracle 的操作系统是 Centos 5。
版本:操作系统均在最近两周内更新,Apache 版本 2.2.22,mod_perl 版本 2.0.4,DBI 版本 1.622,DBD::Oracle 版本 1.50,Oracle 即时客户端版本 10.2.0.3,Oracle 数据库 10g 快捷版版本 10.2.0.1 .0,PHP 版本 5.3
Apache MPM 配置为 ServerLimit 2000、MaxClients 2000 和 MaxRequestsPerChild 300
我检查的事情:在测试期间,唯一的负载来自测试应用程序/oracle,两个虚拟机都没有达到其任何 bean 计数器限制,例如内存,Oracle 始终显示每个 Apache 子节点 1 个会话,每次插入都已完成跑。
所以,我的问题是;我可以让 mod_perl 版本更快吗?如果可以,怎么做?
perl - 为什么 Apache PerlModule 指令不设置自定义环境变量?
我正在构建一个 mod_perl 网站,我需要设置一个将在 Perl 代码中使用的环境变量。
到目前为止,我一直在使用PerlSetEnv
指令来设置这个变量:
这工作正常,但我想预加载我的 mod_perl 处理程序,因为第一次调用非常慢。所以我将我的 Apache 虚拟主机文件更改为:
但是如果我这样做,我的自定义环境变量MYVAR
在预加载时没有设置myhandler
,我的代码会失败。
那么是否可以设置将由PerlModule
指令导出的环境变量?
perl - 从 CGI 迁移到 mod_perl。了解我的,我们的,本地的
几年来我一直在使用 apache mod_cgi。现在我正在转向 mod_perl,我发现了一些问题,特别是子例程。直到现在我从来没有使用过my
,our
也没有local
; 并且 CGI 脚本可以正常工作。my
在阅读了文档甚至之前发布的一些问题之后,我或多或少地了解了它是如何工作our
的local
。我关心的是下一个请求之间将共享哪些信息(如果我理解正确,这是我在运行 mod_perl 而不是 mod_cgi 时必须关心的主要问题)。
our
在标量中使用或仅在标量中使用而不声明任何特殊内容(例如 )有什么区别my
?不是都是全球性的吗?- 如果我不将标量声明为私有,是否将在下一个请求中共享?即使在同一服务器中另一个不同 perl 脚本的请求中?
- 如何将子例程内的标量值共享到该子例程外部但不在同一文件或同一请求之外?
- 如果我在文件的同一级别或同一子例程
my
中的一个标量中使用 a,然后我在使用相同标量的地方创建另一个;两者或每个之间共享的标量是否意味着不同的块?和,它们是先前声明为标量的不同块还是仅适用于子例程和文件?if
if
if
if
while
for
my
perl - Set-Cookie 然后重定向在 perl CGI 下工作,但不是 mod_perl
我在设置 cookie 然后在 mod_perl 下重定向时遇到了一个有趣的问题。到目前为止,我有一个常规的 cgi 环境,设置 cookie/redirect 从来都不是问题;一切都按预期进行。然而,当我打开 mod_perl 时,我得到一个状态 200 和一个带有重定向 url 的 html 正文。cookie 总是放在标题之后和文档正文之前,即使我在重定向之前打印它。我将脚本精简为基本内容,以便您了解我的意思:
当我在常规 CGI 下使用 curl 进行测试时,我得到(为简洁起见,域名被替换和剪断):
...这是我所期望的。当我在 mod_perl 下测试它时,我得到:
我在日志中没有收到任何警告。知道为什么 mod_perl 决定以这种奇怪的方式处理这个重定向吗?