В приложении JAVA, которое я разрабатываю, мне нужно выполнить на стороне сервера фрагмент кода PHP, отправленного клиентом.
Я нашел несколько интересных библиотек, но они не возвращают вывод при синтаксических ошибках.
В качестве альтернативы я подумал о создании php-файла, добавлении к нему содержимого и последующем его выполнении с помощью командных строк ubuntu.
На самом деле я не знаю, как получить результат выполнения, и при выполнении кода с использованием терминала, каков путь к файлу php, который я создал в java.
Если у вас есть какие-то другие идеи, которые были бы великолепны
Я не знаю много о Java, но если вы собираетесь выполнять php с помощью терминала, то вы можете использовать стандартное перенаправление вывода
php fileThatYouUploaded.php > someTemporaryFileToGetOutput.txt 2> tempFileWithErrorsIfAny.txt
или если вы хотите вывод и ошибки в одном файле:
php fileThatYouUploaded.php > someTemporaryFileWithOutputAndErrors.txt 2>&1
Как примечание: доверять коду от пользователя очень плохая идея. Вам будет лучше с какой-нибудь библиотекой, которая позволит вам заносить в белый / черный список функции и классы или даже запускать их в закрытой / изолированной среде.
Других решений пока нет …