如何从 Mulesoft 调用 PHP 脚本?

How to call PHP script from Mulesoft?

我正在 Mulesoft 中创建 resource/api,这需要 运行 一些 PHP 脚本。如果我将引擎用作“php”,则会出现以下错误 -

“未找到脚本引擎 'php'。可用的引擎是:Oracle Nashorn”

那么,如何启用 php 引擎?

您需要先启用 PHP 模块;请参考官方文档: https://blogs.mulesoft.com/dev-guides/how-to-tutorials/using-php-as-the-scripting-language-in-mule/

PHP 不是 Java 脚本引擎的有效脚本语言,由于实现它的 Java 规范,也称为 JSR233。 Mule 使用 JSR233 作为脚本模块的实现,所以它甚至找不到 PHP 作为有效语言。

请注意,Mule 运行时 不是网络服务器或网络容器,更不是 PHP 服务器。我的主要建议是重新实现该页面,或将其部署到实际的 PHP 服务器,并从您的 Mule 应用程序发出 HTTP 请求。

如果您出于某种原因不能这样做,正如您在@Martin Zeitler 的回答中看到的那样,差不多 10 年前就已经有人这样做了,创建一个 JSR233 包装器以使用 Quercus 库来实现PHP 5 作为 Java 的脚本语言。

该文章发表于 2012 年,适用于 Mule 3.3。 mule-module-php.jar 可能是为那个 post 创建的,并且不再可用。即使您找到了它,它也有可能与当前的 Mule 版本(即 3.9.5)不兼容,但肯定与 Mule 4.3 兼容。它基于在过去 6 年中似乎被遗弃的 Quercus 库。

话虽如此,如果您愿意依赖过时的技术,您可以通过创建一个 Java 封装 Quarcus 的库并将其添加到您的 Mule 4 项目中来尝试自己重新实现相同的功能作为依赖项。