如何将Perl脚本的输出包含到PHP页面中?

7
我们被要求在新网站上支持一些相当古老的Perl表单,由于我们使用基于PHP的CMS,因此我们需要将Perl脚本包含到我们的新CMS中。
我尝试了一些shell_exec,但被禁用了。有人有什么想法吗?

为什么?如果您有一些由Perl脚本覆盖的URL,为什么需要将它们置于CMS控制之下? - innaM
好问题,我们有一些联系表单,这些表单提交到一个可怕的数据库应用程序中,在同一页上,我们需要客户能够通过CMS更改内容。如果有任何不使用Perl的方法,我会全力以赴 :) - Tom
1
那就意味着这些 Perl 脚本并不是生成这些表单的吗? - innaM
不幸的是,Perl正在制作表单,并为目标URL创建唯一ID(即使表单未提交)。 - Tom
那么我不明白一个 PHP CMS 如何可能控制表单的内容。你需要深入了解 Perl,摘出 HTML 并将其置于 CMS 控制之下。 - innaM
请参考类似的问题:如何在PHP中使用Perl库 - senderle
3个回答

10

Perl扩展

有一个可用于PHP的Perl扩展。

Zend开发者中心的一篇文章详细介绍了它,在这里查看

该扩展允许您:

  • 加载和执行Perl文件
  • 评估Perl代码
  • 访问Perl变量
  • 调用Perl函数
  • 实例化Perl对象
  • 访问Perl对象的属性
  • 调用Perl对象的方法

你可以使用以下命令从CVS获得它:

$ cvs -d :pserver:cvs.php.net:/repository co pecl/perl

这里列举了运行Perl脚本的示例:

示例1(test1.pl)

print "Hello from Perl! "

示例1(test1.php)

<?php
print "Hello from PHP! ";
$perl = new Perl();
$perl->require("test1.pl");
print "Bye! ";
?>

啊,这看起来是完美的解决方案,只是我不确定我们是否可以在托管上加载任何扩展 :( - Tom

0
如果您的Perl脚本正在创建包含表单的页面,以便客户可以更改,则您将没有运气。您可能能够想出一些包含Perl脚本输出的PHP页面,但您永远无法将该页面上的任何更改反馈到Perl脚本中。

-1

如需对作者进行评论或请求澄清,请在其发布的帖子下留言。您是否验证了您提出的解决方案,还是只是认为它可能有效? - honk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接