Мне нужно запускать команды максимумов из php.
У меня есть два сервера Linux с идентичными настройками Centos и Maxima, но версии PHP — 7.18 и 7.19 соответственно.
У меня есть каталог, содержащий файлы «test.php» и «test_maxima.txt».
Разрешения для «test_maxima.txt» — 0644 (но я также пробовал 0777).
Путь включения PHP на обоих серверах «.: / Usr / share / pear: / usr / share / php
».
Когда я запускаю команду «maxima -b test_maxima.txt» непосредственно из командной строки на обоих серверах, она работает просто отлично.
Скрипт «test.php», который содержит, помимо прочего, строки:
require 'test_maxima.txt'; // sanity test that PHP includes things in current path
print_r(`maxima -b test_maxima.txt`);
Но когда я вызываю скрипт «test.php» из браузера, то на сервере под управлением PHP 7.18 скрипт отлично запускает скрипт maxima, но в версии PHP 7.19 он отображает содержимое «test_maxima.txt» в соответствии с Тест здравомыслия выше, но за этим следует вывод:
(%i1) batch("test_maxima.txt")
file_search1: test_maxima.txt not found in file_search_maxima.
Кроме того, если я бегу:
print_r(`maxima -b /var/www/html/test_maxima.txt`);
или если я добавлю текущий путь с file_search_maxima:append...
на выходе просто звездочка (*
).
Бег:
print_r(`maxima -r 'debugmode(true);file_search_maxima();quit();'`)
дает одинаковые результаты на обоих серверах:
[/tmp/.maxima/$$$.{mac,mc,wxm},
/usr/share/maxima/5.41.0/share/$$$.{mac,mc,wxm}, /usr/share/maxima/5.41.0/shar\
e/{affine,algebra,algebra/charsets,algebra/solver,amatrix,bernstein,calculus,c\
obyla,cobyla/ex,cobyla/lisp,colnew,colnew/lisp,combinatorics,contrib,contrib/E\
ulix,contrib/Grobner,contrib/Zeilberger,contrib/alt-display,contrib/altsimp,co\
ntrib/binsplit,contrib/bitwise,contrib/boolsimp,contrib/coma,contrib/diffequat\
ions,contrib/diffequations/tests,contrib/elliptic_curves,contrib/elliptic_curv\
es/figures,contrib/format,contrib/fresnel,contrib/gentran,contrib/gentran/man,\
contrib/gentran/test,contrib/gf,contrib/integration,contrib/levin,contrib/lurk\
mathml,contrib/maxima-odesolve,contrib/maximaMathML,contrib/mcclim,contrib/nam\
espaces,contrib/noninteractive,contrib/odes,contrib/operatingsystem,contrib/pr\
im,contrib/rand,contrib/rkf45,contrib/sarag,contrib/smath,contrib/state,contri\
b/symplectic_ode,contrib/trigtools,contrib/unicodedata,contrib/unit,contrib/ve\
ctor3d,descriptive,diff_form,diff_form/tests,diffequations,distrib,draw,dynami\
cs,ezunits,finance,fourier_elim,fractals,graphs,hypergeometric,integequations,\
integer_sequence,integration,lapack,lapack/blas,lapack/lapack,lbfgs,linearalge\
bra,logic,lsquares,macro,matrix,minpack,minpack/lisp,misc,mnewton,multiadditiv\
e,numeric,numericalio,odepack,odepack/src,orthopoly,pdiff,physics,simplex,simp\
lex/Tests,simplification,solve_rat_ineq,solve_rec,sound,stats,stringproc,sym,t\
ensor,to_poly_solve,trigonometry,utils,vector,z_transform}/$$$.{mac,mc,wxm},
/usr/share/maxima/5.41.0/$$$.{mac,mc,wxm}]()
В чем может быть проблема? Почему maxima не может найти файл в текущем рабочем каталоге PHP на одном из серверов?
Задача ещё не решена.
Других решений пока нет …