问题标签 [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.

0 投票
2 回答
663 浏览

apache - Apache/2.2.9、mod_perl/2.0.4:status_line 似乎不起作用

响应是这样准备的:

要求:

回复:

为什么响应状态是 200 而不是 500?

0 投票
5 回答
497 浏览

perl - -f 文件测试运算符是否在 mod_perl 中工作?

我正在尝试使用 Tenjin 模块,但它失败了,因为它找不到模板文件但它存在。我在模块中添加了一些调试语句,但它没有通过

即使 $filepath 是正确的。我在一个独立的脚本中尝试过,它工作正常,但是当我将它复制到 mod_perl 脚本时它失败了。有任何想法吗?

$filepath 是一个完整的绝对路径:/something/another/dir/2/filename.plhtml

这是模块的功能。注意我的“调试”...它打印文件的正确路径是 777,但它从不打印 YES。

}

失败

Tenjin::Engine: index.plhtml 未找到 (path=['/var/2.0/templates/search'])。在 /usr/lib/perl5/site_perl/5.8.8/Tenjin/Engine.pm 第 56 行。\n

0 投票
1 回答
300 浏览

perl - 如何在 Windows 上的 ActiveState Perl 下使用 Apache::Reload?

我在 Windows 和 Apache 上使用 Activestate Perl。我想在 mod_perl 下运行我的脚本。为了防止 Apache 在开发过程中缓存模块,我想使用 Apache::Reload 模块。

我已将以下几行添加到 httpd.conf

然后我重新启动 Apache。然后我所有的脚本都会产生内部服务器错误(500)。

Apache 日志中没有错误。

你知道我错了还是 Apache::Reload 在 Windows 上不起作用?

0 投票
1 回答
199 浏览

configuration - 为什么使用 APACI 构建的 Apache mod_perl 会丢失 CFLAGS?

我正在尝试使用 mod_perl 1.31 构建 Apache 1.3.41 以部署到 Solaris 8 SPARC 服务器。我们现在必须使用 1.3,因为当前部署了许多基本应用程序到一个非常大规模的网站。

我正在使用mod_perl 安装文档中描述的 new(er) APACI 技术,但是当我查看为构建 Apache 部分而发出的编译命令时,我使用 CFLAGS 选项设置的编译标志已被删除。

LDFLAGS 似乎已正确通过,并且正在导出 CFALGS 和 LDFLAGS。

其他人以前遇到过这个吗?

0 投票
4 回答
828 浏览

linux - 为什么我的 mod_perl 脚本会冻结我的服务器?

我无法让我的 Perl 脚本在服务器上稳定运行。这是问题所在。

当脚本每秒访问超过 5 次时,服务器会冻结。一段时间后,服务器永远挂起。SSH 没有响应,我必须重新启动服务器。

我将 Apache 与mod_perl.

该脚本托管在 Ubuntu 下的虚拟专用服务器上。我通过 SSH 操作它。这些是服务器参数 CPU:400 MHz RAM:256 MB

脚本的最大执行时间为 200 毫秒。

我使用“top”实用程序监控了服务器负载。它没有显示任何问题,这是每秒加载 5 个脚本期间的 CPU 统计信息:

我必须有哪些选项才能使脚本正常工作?

这是ps aux | fgrep perl加载时的结果:

更新

我找到了瓶颈。我在代码中多次使用 DateTime 模块。以下 DateTime 模块方法似乎很慢。

  • 新的()
  • 现在()
  • 放(...)
  • delta_ms(...)

我将用快速类似物代替它们。

另一个担忧。mod_perl 实例占用大量内存。我不知道为什么。我试图运行一个不导入任何模块的简单 perl 脚本。我在apache重新启动后运行它。该脚本占用 37M 内存。为什么会这样?你知道如何强制 mod_perl 不使用额外的内存吗?

没有 mod_perl 支持的常规 perl 脚本占用 3-5M 内存。

伙计们,谢谢你们这么多的帮助,我没想到会有这么好的反应!

更新 2

我又发现了一个事实。我创建了一个简单的 perl 脚本,它只等待 5 秒。

然后我同时生成许多这些脚本。顶级实用程序中的隐身时间 (st) 从 0% 上升到 80% 并保持高位,直到脚本完成。

这个负载从何而来?

另外,正如我已经提到的,每个 perl 实例占用 36M 内存。

0 投票
1 回答
174 浏览

linux - 如何最小化 mod_perl 脚本的内存分配?

我创建了一个简单的 perl 脚本。它唯一做的就是等待 5 秒。

当我通过 mod_perl 在服务器上生成脚本时,会占用大量内存。该实例占用 36 兆字节。

为什么分配了这么多内存?如何最小化运行脚本从系统中占用的内存?

这是运行 2 个脚本时“top”实用程序的输出。

剧本。

0 投票
5 回答
4481 浏览

perl - 纯 Perl 从另一个 HTTP 资源流式传输的最简单方法是什么?

在 Perl 中从另一个 HTTP 资源流式传输的最简单方法是什么(无需打开 shell 来 curl 并从标准输入中读取)?我在这里假设我正在读取的 HTTP 资源是一个潜在的无限流(或者只是非常非常长)

0 投票
1 回答
245 浏览

memory-leaks - 我可以测量 mod_perl 占用的内存吗?

问题:我的 mod_perl 泄漏,我无法控制它。

我在 Ubuntu(生产代码)下运行 mod_perl 脚本。通常有 8-10 个脚本实例同时运行。

根据 Unix“顶级”实用程序,每个实例占用 55M 内存。55M 很多,但是这里有人告诉我,大部分内存是共享的。

内存在泄漏。服务器上有512M。重新启动后 24 小时内可用内存显着减少。

测试:运行 10 个脚本时系统上的可用内存:-重启后:270M -重启后 24 小时内:50M

在 24 小时内,每个脚本占用的内存大致相同 - 55M(根据“top”实用程序)。我不明白内存泄漏在哪里。而且不知道如何找到泄漏点。

我共享内存,我在 startup.pl 中预加载脚本所需的所有模块。

再来一个测试。一个非常简单的 mod_perl 脚本(“Hello world!”)需要 52M(根据“top”)

根据“实用 mod_perl”,我可以使用 GTop 实用程序来测量 mod_perl 占用的实际内存。我制作了一个非常简单的脚本,用 GTop 测量内存。它显示一个非常简单的 perl 脚本占用了 54M 的实际内存!54 兆字节的“Hello world”?!!!

我测量 mod_perl 内存的方式一定有问题。请帮忙!这个问题让我发疯了好几天。

这些是重启后和重启后 24 小时内“top”输出的快照。进程按内存排序。

0 投票
9 回答
4872 浏览

perl - Perl 的未来?(Perl 6,就业能力)

我发现了一些相关的问题,比如Python vs. Perl(现已删除)和Perl 值得吗?(现已删除),但我似乎找不到任何直接解决这个问题的东西。

Perl 有一个合理的未来吗?我现在在一家 Perl 商店工作,我来自 PHP,所以在服务器级别上做事时,我看到了可以说是“低级”语言的一些优势,但在我看来 Perl 中的很多任务可以在 PHP 中更快地执行,并且一些争论(主观的,不是我的观点)Python 以更明确的方式完成这些任务,更容易维护。

在我的简历上写这份工作最终会降低我的就业能力,尤其是在语言不再增长的情况下?

几点注意事项:

  1. 我喜欢 Perl,所以不要认为我在抨击这种语言。使用起来很有趣,而且我们使用相对容易维护的相当冗长的语法。
  2. 我意识到“Vaporware”是一个不一定适用于这种情况的流行词,因为 Perl 没有营销部门,而且他们在任何时候都不会“有希望” Perl 6。
  3. 我意识到 CPAN 让社区继续运转,因此无论 Perl 6 出现与否,人们都会继续构建增加语言可能性的模块,但这并不意味着行业商店意识到这一点,并切换到“更受支持”的语言不断推出语言的修订版本,如 Python 和(尤其是)PHP。*

EDIT {CLARIFICATION} Cade Roux 和 Telemachus 都提出了关于你的未来是否可以通过你的简历来定义的好观点。

老实说,当我的一位前雇主说“我不会雇用任何人以 Perl 作为他们的最后一份工作。那是旧技术”时,我就提出了这个问题。这是一家 PHP 商店,所以对这一切持保留态度。

现在在不诋毁我的前雇主的情况下,她根本不是技术人员,所以她实际上是在表达一个外行的观点,在这种情况下,我的问题更像是“这种特定技术是否存在耻辱感不使用它的人?”,特别是那些可能有过类似雇主经验的人。我并不是要你用魔法玻璃展望未来,以假设下一个“热门”语言会是什么,而是如果这种特定的语言(被外行人指责为发育迟缓)是否具有负面含义它。

我希望这更有意义。

0 投票
1 回答
488 浏览

perl - 为什么我的脚本在使用 mod_perl 运行时会使用这么多内存?

我正在尝试学习如何分析 perl 内存。

我有一个非常简单的 Perl hello-world 脚本,我想知道它在内存中的大小。

我使用 GTop 实用程序来测量内存(在Stas Beckman的 mod_perl 书中推荐)。GTop 提供了令我困惑的结果。

当我从命令行运行脚本时,GTop 说:7M。

当我在 下运行它时mod_perl,GTop 说:54M。

为什么这么多?!

为什么脚本内存增长如此之多mod_perl?或者也许我以错误的方式测量内存?你如何分析 perl 脚本内存?

这是脚本及其输出(我手动添加了逗号以轻松阅读数字)

  1. 从命令行运行

    /li>
  2. 在 mod_perl 下运行

    /li>

脚本 simple.pl