Как использовать PHP и AJAX для выполнения команды Maxima (которую необходимо вводить в интерактивном режиме) из веб-браузера (localhost)?

В Windows запустите Maxima в командной строке, введите ??plot; команда, вы увидите это.

Затем вам нужно взаимодействовать с командной строкой, выбрав order number или же all или же none,

Теперь я хочу использовать PHP и AJAX для создания веб-сайта (localhost), затем при доступе к PHP-сценарию в localhost вы можете взаимодействовать с командной строкой Maxima для внутреннего использования. ??plot; команда на веб-сайте.

Поэтому я пишу скрипт PHP следующим образом:

имя файла: cmx.php

 <?php
chdir("D:/Program Files/Maxima-5.30.0/bin");
$expr = escapeshellarg("display2d:false$ ??plot;");
// $expr = escapeshellarg("display2d:false$  solve(x^2-1=0, x);";
$cmd_str = "maxima --batch-string=$expr";

$res = exec($cmd_str, $out_arr, $return_val);
$out_str = implode('<br/>', $out_arr);
echo $out_str.'<br/>';
?>

На этот раз, когда я получаю доступ http://localhost/cmx.phpсодержание в Интернете:

Максима 5.30.0 http://maxima.sourceforge.net

использование Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)

Распространяется по открытой лицензии GNU. Смотрите файл КОПИРОВАНИЕ.

Посвящается памяти Уильяма Шелтера.

Функция bug_report () предоставляет информацию об ошибках.

(% i1) display2d: false

(% i2) описать («сюжет», неточно)

0: функции и переменные для черчения

1: Опции Gnuplot

2: Функции формата Gnuplot_pipes

3: Введение в черчение

4: Форматы печати

5: Параметры печати

6: барсплот (функции и переменные для статистических графиков)

7: barsplot_description (Функции и переменные для статистических графиков)

8: boxplot (Функции и переменные для статистических графиков)

9: boxplot_description (Функции и переменные для статистических графиков)

10: contour_plot (Функции и переменные для черчения)

11: get_plot_option (Функции и переменные для черчения)

12: gnuplot_close (функции формата Gnuplot_pipes)

13: gnuplot_curve_styles (параметры Gnuplot)

14: gnuplot_curve_titles (параметры Gnuplot)

15: gnuplot_default_term_command (параметры Gnuplot)

16: gnuplot_dumb_term_command (параметры Gnuplot)

17: gnuplot_file_name (функции и переменные для рисования)

18: gnuplot_out_file (параметры Gnuplot)

19: gnuplot_pm3d (параметры Gnuplot)

20: gnuplot_preamble (параметры Gnuplot)

21: gnuplot_ps_term_command (параметры Gnuplot)

22: gnuplot_replot (функции формата Gnuplot_pipes)

23: gnuplot_reset (функции формата Gnuplot_pipes)

24: gnuplot_restart (функции формата Gnuplot_pipes)

25: gnuplot_start (функции формата Gnuplot_pipes)

26: gnuplot_term (параметры Gnuplot)

27: implicit_plot (функции и переменные для построения графиков)

28: multiplot_mode (функции и переменные для рисования)

29: plot2d (функции и переменные для черчения)

30: plot3d (функции и переменные для черчения)

31: plotdf (Функции для численного решения дифференциальных уравнений)

32: ploteq (Функции для численного решения дифференциальных уравнений)

33: plot_format (Параметры печати)

34: plot_options (функции и переменные для черчения)

35: plot_realpart (Параметры печати)

36: диаграмма рассеяния (функции и переменные для статистических графиков)

37: scatterplot_description (Функции и переменные для статистических графиков)

38: set_plot_option (Функции и переменные для черчения)

39: starplot (Функции и переменные для статистических графиков)

40: starplot_description (Функции и переменные для статистических графиков)

41: stemplot (Функции и переменные для статистических графиков)

Введите разделенные пробелами цифры «все» или «нет»:

Все еще жду:

Maxima обнаружил ошибку Lisp:

Ошибка в PROGN [или вызываемой]: неожиданный конец #.

Автоматически продолжается.

Чтобы включить набор отладчика Lisp Отладчик-крючок до нуля

Однако если $expr = escapeshellarg("display2d:false$ solve(x^2-1=0, x);"; в сценарии PHP я могу получить ожидаемые результаты.

Кроме того, я видел подобную проблему Как выполнить интерактивную команду из PHP?, но это не работает для моей проблемы.

Хотя я хочу постоянно взаимодействовать с командной строкой в ​​Интернете и надеюсь, что контекст может быть связан друг с другом.

Что я должен делать ? Существуют ли какие-либо эффективные советы или веб-структура, которые помогут мне реализовать этот веб-сайт?

0

Решение

Я пытался понять ваш вопрос, следующие ресурсы могут быть полезны для вас.

Я нахожу это, try.redis, web macaulay2, web Singular все веб-интерфейсы программного обеспечения redis, macaulay2 а также Singular,

alexmchale / try.redis: демонстрация базы данных Redis. https://github.com/alexmchale/try.redis

попробуйте Redis

GitHub — fhinkel / InteractiveShell: создание веб-приложений для интерактивных инструментов командной строки https://github.com/fhinkel/InteractiveShell

веб macaulay2:
http://habanero.math.cornell.edu:3690/
веб-macaulay2

Веб-сайт Singular:
https://www.singular.uni-kl.de:8003/
веб-болванка

Но похоже, что эти проекты с открытым исходным кодом не реализованы в PHP и AJAX.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]