2016-06-23 2 views
0

В приложении JAVA, которое я разрабатываю, мне нужно выполнить на стороне сервера часть кода PHP, отправленную клиентом. Я нашел несколько интересных библиотек, но они не возвращают результат при наличии синтаксических ошибок. В качестве альтернативы я подумал о создании php-файла, добавлении содержимого к нему, а затем выполнить его с помощью команд командной строки ubuntu.Java - создать файл php, выполнить его и получить выход

Что я действительно не знаю, как получить результат выполнения, а при выполнении кода с помощью терминала - какой путь к файлу php, который я создал в java.

Если у вас есть какие-либо другие идеи, которые были бы большим

ответ

0

Я не знаю много о Java, но если вы собираетесь выполнить PHP с помощью терминала, то вы можете использовать стандартное перенаправление вывода

php fileThatYouUploaded.php > someTemporaryFileToGetOutput.txt 2> tempFileWithErrorsIfAny.txt 

или если вы хотите, чтобы вывод и ошибки в том же файле:

php fileThatYouUploaded.php > someTemporaryFileWithOutputAndErrors.txt 2>&1 

в качестве примечания: доверяя код от пользователя является очень плохая идея. Вам будет лучше с какой-то библиотекой, которая позволит вам выполнять функции «белый список» или «черный список» и классы или даже запускать их в закрытой/изолированной среде.

+0

Да, это точно, я позабочусь об аспекте безопасности после выделения части, где выполняется код. Спасибо – Elmehdi93