#php #mulesoft
Вопрос:
Я нахожусь в процессе создания ресурса/api в Mulesoft, и для этого нужно запустить какой-нибудь PHP-скрипт. Если я использую движок как «php», я получаю ошибку ниже —
«Движок сценариев «php» не найден. Доступные движки: Oracle Nashorn»
Итак, как включить движок php?
Ответ №1:
PHP не является допустимым языком сценариев для движка сценариев Java, также известного как JSR233, из-за спецификации Java, на основе которой он был реализован. Mule использует JSR233 в качестве реализации модуля сценариев, поэтому он даже не может найти PHP в качестве допустимого языка.
Обратите внимание, что среда выполнения Mule не является веб-сервером или веб-контейнером, а тем более PHP-сервером. Моя основная рекомендация-переопределить эту страницу или развернуть ее на реальном PHP-сервере и выполнить HTTP-запрос из вашего приложения Mule.
Если вы по какой-то причине не можете этого сделать, как вы можете видеть в ответе @Martin Zeitler, что-то подобное уже было сделано почти 10 лет назад, создав оболочку JSR233 для использования библиотеки Quercus для реализации PHP 5 в качестве языка сценариев для Java.
Эта статья датирована 2012 годом и для Мула 3.3. mule-module-php.jar вероятно, он был создан для этого поста и больше недоступен. Даже если вы найдете его, есть вероятность, что он не будет совместим с текущими выпусками Mule (т. Е. 3.9.5), и он, безусловно, совместим с Mule 4.3. Он был основан на библиотеке Керкуса, которая, похоже, была заброшена за последние 6 лет.
Сказав это, если вы готовы зависеть от устаревших технологий, вы можете попытаться самостоятельно реализовать ту же функциональность, создав библиотеку Java, которая инкапсулирует Quarcus, и добавить ее в свой проект Mule 4 в качестве зависимости.
Ответ №2:
Для начала вам необходимо включить модуль PHP; пожалуйста, обратитесь к официальной документации: https://blogs.mulesoft.com/dev-guides/how-to-tutorials/using-php-as-the-scripting-language-in-mule/
Комментарии:
1. — Согласно приведенной выше ссылке, ему нужно «(mule-module-php.jar)» но нигде не нахожу. Есть какие-нибудь зацепки по этому поводу?