从 PHP 调用 Perl 脚本并传入变量,同时还使用可变的 Perl 脚本名称

2023-12-31

我通常如下从 PHP 调用 perl 脚本并以这种方式传递变量,它工作得很好,但是现在我正在构建一个可重用的组件,我还想改变我传入的 perl 脚本名称,这是让我有些头痛,所以我想知道是否有人可以指出更好的方法来做到这一点,因为我的方法不起作用..谢谢..

没有可变 perl 文件名的工作方式:

$file = "/var/www/other_scripts/perl/apps/perlscript.pl $var1 $var2 $var3 $var4";
ob_start();
passthru($file);
$perlreturn = ob_get_contents();
ob_end_clean();

我试图改变 perl 文件名,但这似乎对我不起作用,你可以在上面看到它如何在最初的“”中甚至包括 $var(s),我觉得这很奇怪,但这似乎是这是它工作的唯一方法,我什至不确定如何使用可变的 perl 文件名复制它:

$perlscript_file = "/var/www/other_scripts/perl/apps/" . $perlscript .".pl";

$file = $perlscript_file . $var1 . $var2  .$var3 . $var4;
ob_start();
passthru($file);
$perlreturn = ob_get_contents();
ob_end_clean();

您的方法不起作用,因为您正在连接所有不带空格的参数,从而有效地使它们成为一个参数。

Try

$perlscript_file = "/var/www/other_scripts/perl/apps/$perlscript.pl $var1 $var2 $var3 $var4";

顺便说一句,如果参数来自外部源,您MUST使用对它们进行消毒escapeshellarg() http://php.net/escapeshellarg。同样适用于$perlscript- 如果它来自外部源甚至用户输入,请执行escapeshellcmd() http://www.php.net/manual/en/function.escapeshellcmd.php on it.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 PHP 调用 Perl 脚本并传入变量,同时还使用可变的 Perl 脚本名称 的相关文章

  • 使用 Composer CLI 将数据添加到额外属性

    根据文档extra的财产composer json 架构 https getcomposer org doc 04 schema md extra 允许设置 供脚本使用的任意额外数据 出于脚本目的 如果可以将数据添加到extra通过命令行属
  • 在 PHP 扩展中,推荐从 std::string 返回值的方法

    我们有一个简单的 PHP 函数 其目的是调用 C 自由函数std string callLibrary std string 并返回其std string返回值 目前看起来是这样的 PHP FUNCTION call library cha
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • WP_Query 相同的请求,不同的语法 - 其中之一不起作用

    我有一个运行良好的 WP Query args array post type gt product meta key gt product subtype meta value gt public compare gt 但当我想搜索多个m
  • 致命错误:找不到类“App\PDO”

    当我尝试使用命名空间时出现此错误 I have namespace App 顶部 班级看起来像 class database function construct try this gt db new PDO lt here the err
  • PHP - 将文件系统路径转换为 ​​URL

    我经常发现项目中的文件需要从文件系统和用户浏览器访问 一个例子是上传照片 我需要访问文件系统上的文件 以便可以使用 GD 来更改图像或移动它们 但我的用户还需要能够从类似以下的 URL 访问文件example com uploads myp
  • 用php将数字转换为字母[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中将数字 1 2 3 转换为字符串 一 二 三 https stackoverflow com questions 2112571 converting a number 1 2 3 to
  • 打印出匿名子程序的代码

    我目前正在一个非常复杂的 Perl 架构中工作 我想创建一些调试工具 由于许多行为涉及匿名子例程 因此我想分析其中一些行为 而我所要做的就是对子例程的引用 简而言之 有没有办法打印子例程引用的代码 因为 Perl 被解释 它可能仍然可用 核
  • 连接到 mysql 服务器(localhost)非常慢

    实际上有点复杂 摘要 与数据库的连接非常慢 页面渲染大约需要 10 秒 但页面上的最后一条语句是一个回显 当页面在 Firefox 中加载时我可以看到它的输出 IE 是相同的 在谷歌浏览器中 只有在加载完成后输出才可见 不同浏览器的加载时间
  • 如何在 PHPUnit 中跨多个测试模拟测试 Web 服务?

    我正在尝试使用 PHPUnit 测试 Web 服务接口类 基本上 这个类调用肥皂客户端目的 我正在尝试使用 PHPUnit 测试此类getMockFromWsdl这里描述的方法 http www phpunit de manual curr
  • 编写 PHP SQL 更新语句的最佳方法

    我有这个 PHP SQL 语句 updateCategory UPDATE category SET name name description description parent parent active active WHERE i
  • 发送邮件时PEAR邮件验证失败

    由于我发现 PHP 中内置的邮件功能存在安全漏洞 因此我尝试使用 PEAR 我已经在本地主机 WAMP 服务器 2 2 上安装并进行了必要的配置 但是 每次我尝试发送电子邮件时 都会显示以下消息 error authentication f
  • 添加验证码到 Symfony2 登录

    我需要将验证码添加到我的登录页面 我正在使用 GregwarCaptchaBundle 和 FosUserBundle 目前我已经使用以下代码在登录时显示验证码
  • 使用 Kendo Upload 进行 Kendo Grid 内联编辑返回空结果

    我有 Kendo UI Gridinline编辑和我的领域之一 propertyLogo I use 剑道上传 https demos telerik com kendo ui upload index上传图像 使用kendoUpload函
  • 查找关联数组中最小值的键

    在 PHP 中 假设您有一个如下所示的关联数组 pets array cats gt 1 dogs gt 2 fish gt 3 我如何找到具有最低值的密钥 在这里 我要寻找cats 是否有一些我错过的内置 PHP 函数可以实现此目的 如果
  • MySQL - 重命名列

    如何重命名 mysql 列help to content在我的桌子上tbl help mysql query ALTER TABLE tbl help CHANGE COLUMN help content 您必须在更改列语句中包含列的定义
  • 在 CentOS 6.5 上升级 PHP(最终版)

    我正在尝试更新我的 PHP 当前 v 5 3 3 到最新的稳定 PHP 版本 但它没有正常运行 并且显示没有任何内容可以更新 任何帮助都会有用的 不断地说 没有标记为更新的软件包 正如 Jacob 提到的 CentOS 软件包存储库目前似乎
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 如何获取与 PHP 中的日期数组相比最接近的日期

    这个帖子 https stackoverflow com questions 11012891 how to get most recent date from an array of dates几乎为我回答了这个问题 但我有一个特定的需求
  • InvalidArgumentException 与 UnexpectedValueException

    我应该什么时候使用无效参数异常 http www php net manual en class invalidargumentexception php什么时候意外值异常 http www php net manual en class

随机推荐

  • bash:expect 可以处理多个密码提示吗?

    我目前正在使用 Expect 来传递密码 这样我的脚本就可以自动运行 而无需我坐下来一遍又一遍地输入相同的密码 重要提示 请不要评论这有多大的安全风险或我应该如何使用 ssh 密钥 如果可以的话我会使用这些密钥 但我必须使用的设置不允许这样
  • 我可以生成自定义编译器错误吗?如果是这样,怎么办?

    这就是我想做的 我有一个项目必须在某些版本的 Delphi 或更高版本中编译 我想使用条件编译器指令来测试 Delphi 版本 然后使用自定义消息生成自定义编译器错误 如果不可能出现错误 能够生成自定义编译器警告或提示也足够了 当然 我可以
  • IIS 7 通过 HTTPS 进行 POST 是否有限制?

    我正在 PHP 中构建一个 Web 服务 用于处理通过 SOAP 请求从 Windows 应用程序接收到的数据 Windows 应用程序有点像黑匣子 但它会生成很长的消息流 然后将它们作为单个 SOAP 请求进行发布 使用 HTTP 可以正
  • 来自 c# 的 PInvoke c++ dll - 尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

    尝试使用 Dll 导入从 C 访问旧的 C DLL 已经在网上搜索了大约4天 但没有成功 我正在尝试使用来自 asp net mvc 3 网站 net 4 的 c dll 我已将平台目标更改为 x86 我已在 iis 中的应用程序池上将 启
  • 在 Xcode 4.5 中,“显示实时问题”不再起作用

    我发现 Xcode 在我编写代码时显示编译器警告非常有用 例如 如果我写了 ldksjfksdj 我希望立即看到一个红色感叹号图标和警告 use of undeclared identifier 但现在使用 Xcode 4 5 我只能在编译
  • 有没有使用 WebDav 的 Dreamweaver 开源替代方案?

    我们希望使用 WebDav 来处理我们的模板 但无法使用 Dreamweaver 有什么建议么 谢谢你 任何文本编辑器都应该在这里完成工作 我推荐崇高文本2 http www sublimetext com 2 or 记事本 http no
  • “AND NOT”运算的正则表达式[重复]

    这个问题在这里已经有答案了 我正在寻找一个通用的正则表达式构造来匹配模式 x 中的所有内容 除了匹配模式 y 之外 这很难完整而简洁地解释 看实质性非暗示 http en wikipedia org wiki Material nonimp
  • JSON 二进制值包含无效数据

    因此 当我运行一个查询 将子查询的结果聚合到包含 JSON 对象的 JSON 数组中时 出现以下错误 The JSON binary value contains invalid data 这适用于 8 0 15 但不适用于 8 0 17
  • 如何测试 double 是否为整数

    是否有可能做到这一点 double variable variable 5 the below should return true since 5 is an int if variable were to equal 5 7 then
  • 如何用python制作一个带有按钮的窗口

    如何创建一个函数来创建一个带有两个按钮的窗口 其中每个按钮都有一个指定的字符串 如果单击 则返回一个指定的变量 类似于此视频中的 3 05https www khanacademy org science computer science
  • 我可以读取 open_memstream() 生成的流吗?

    我通过 open memstream 创建一个流 填充它然后读取 效果很好 但我很困惑函数文档说 open memstream 函数打开一个流以写入缓冲区 但我也能读懂 我是否以正确的方式使用它 也许我可以读取流 因为我的平台中的函数实现允
  • 从 RDBMS 到 Ignite Cache 的快速数据加载

    我有一个内部连接到 RDBMS 的用户界面 从 UI 中 用户可以选择任意数量的表 也可以编写选择查询来获取结果集并将其加载到 Apache Ignite 缓存中 您能否建议示例或 API 以表格式将数据加载到缓存中 您需要使用数据流API
  • 堆栈按预期工作 | z 索引 (CSS) 等效项

    我正在尝试实现此目标 Todo 图像 但图像被隐藏了 怎么把它放到上面呢 我认为使用 Stack 会自动将其置于顶部 有没有等效的 z index 我还分享了下面的代码 Todo 进行中 Code Widget build BuildCon
  • 无法识别的 VM 选项“CMSClassUnloadingEnabledn-J-Xmx2Gn”

    我在 Mac 上安装了 scala sbt 当我尝试运行 sbt 时 出现错误无法识别的 VM 选项 CMSClassUnloadingEnabledn J Xmx2Gn 我认为 JVM 有问题 但找不到针对此错误的任何帮助 更多错误信息
  • 是否可以使用情感生成CSS文件?

    emotion https emotion sh是一个 css in js 库 我看到它创建了
  • name 属性中带有方括号的输入

    我在这个论坛上进行了很多搜索来解决这个问题 但到目前为止还没有成功 我有一个表格有几个
  • pad_inches=0 和 bbox_inches="tight" 使绘图小于声明的 Figsize

    我正在制作一个嵌入乳胶中的出版质量的绘图 我希望在大小和字体方面非常精确 以便文章中的字体与绘图中的字体大小相同 为了防止绘图在乳胶中缩放 我希望它具有精确的尺寸 但我不能 这是我的代码 import matplotlib pyplot a
  • Windows 上运行 ASP.NET 的 IIS 替代方案

    Windows 上是否有任何替代 IIS 来运行 ASP NET 的方法 CassiniEx 看起来很老 有卡西尼号UltiDev http www ultidev com products Cassini 这是一个 免费 轻量级 可再发行
  • Conda 和 Python 模块

    遗憾的是 我不明白如何安装随机 python 模块以在我的 Anaconda 发行版的 iPython Notebooks 中使用 我需要能够在不总是使用实时互联网连接的情况下完成这些事情 这一事 实使问题变得更加复杂 我最常遇到 gcc
  • 从 PHP 调用 Perl 脚本并传入变量,同时还使用可变的 Perl 脚本名称

    我通常如下从 PHP 调用 perl 脚本并以这种方式传递变量 它工作得很好 但是现在我正在构建一个可重用的组件 我还想改变我传入的 perl 脚本名称 这是让我有些头痛 所以我想知道是否有人可以指出更好的方法来做到这一点 因为我的方法不起